diff options
Diffstat (limited to 'MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs')
| -rw-r--r-- | MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs b/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs new file mode 100644 index 000000000..36c0a99ef --- /dev/null +++ b/MediaBrowser.Controller/Providers/TV/SeriesXmlParser.cs @@ -0,0 +1,69 @@ +using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Model.Entities;
+using System;
+using System.Xml;
+
+namespace MediaBrowser.Controller.Providers.TV
+{
+ public class SeriesXmlParser : BaseItemXmlParser<Series>
+ {
+ protected override void FetchDataFromXmlNode(XmlReader reader, Series item)
+ {
+ switch (reader.Name)
+ {
+ case "id":
+ string id = reader.ReadElementContentAsString();
+ if (!string.IsNullOrWhiteSpace(id))
+ {
+ item.SetProviderId(MetadataProviders.Tvdb, id);
+ }
+ break;
+
+ case "Airs_DayOfWeek":
+ {
+ 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;
+ }
+
+ case "Airs_Time":
+ item.AirTime = reader.ReadElementContentAsString();
+ break;
+
+ case "SeriesName":
+ item.Name = reader.ReadElementContentAsString();
+ break;
+
+ case "Status":
+ item.Status = reader.ReadElementContentAsString();
+ break;
+
+ default:
+ base.FetchDataFromXmlNode(reader, item);
+ break;
+ }
+ }
+ }
+}
|
