jellyfin/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs

70 lines
2.4 KiB
C#
Raw Normal View History

using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Model.Entities;
using System;
2012-07-12 08:55:27 +02:00
using System.Xml;
namespace MediaBrowser.Controller.Providers.TV
2012-07-12 08:55:27 +02:00
{
public class SeriesXmlParser : BaseItemXmlParser<Series>
{
2012-08-20 23:48:11 +02:00
protected override void FetchDataFromXmlNode(XmlReader reader, Series item)
2012-07-12 08:55:27 +02:00
{
switch (reader.Name)
2012-07-12 08:55:27 +02:00
{
case "id":
2012-08-20 23:48:11 +02:00
string id = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(id))
{
item.SetProviderId(MetadataProviders.Tvdb, id);
}
2012-07-12 08:55:27 +02:00
break;
2012-07-20 16:47:39 +02:00
case "Airs_DayOfWeek":
{
2012-08-20 23:48:11 +02:00
string day = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(day))
{
if (day.Equals("Daily", StringComparison.OrdinalIgnoreCase))
{
item.AirDays = new DayOfWeek[] {
DayOfWeek.Sunday,
DayOfWeek.Monday,
DayOfWeek.Tuesday,
DayOfWeek.Wednesday,
DayOfWeek.Thursday,
DayOfWeek.Friday,
DayOfWeek.Saturday
};
}
else
{
item.AirDays = new DayOfWeek[] {
(DayOfWeek)Enum.Parse(typeof(DayOfWeek), day, true)
};
}
}
break;
}
2012-07-20 16:47:39 +02:00
case "Airs_Time":
2012-08-20 23:48:11 +02:00
item.AirTime = reader.ReadElementContentAsString();
2012-07-20 16:47:39 +02:00
break;
2012-07-12 08:55:27 +02:00
case "SeriesName":
2012-08-20 23:48:11 +02:00
item.Name = reader.ReadElementContentAsString();
2012-07-12 08:55:27 +02:00
break;
case "Status":
2012-08-20 23:48:11 +02:00
item.Status = reader.ReadElementContentAsString();
2012-07-12 08:55:27 +02:00
break;
default:
2012-08-20 23:48:11 +02:00
base.FetchDataFromXmlNode(reader, item);
2012-07-12 08:55:27 +02:00
break;
}
}
}
}