mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-16 18:42:52 -07:00
87 lines
2.9 KiB
C#
87 lines
2.9 KiB
C#
using System;
|
|
using System.Xml;
|
|
using MediaBrowser.Controller.Xml;
|
|
using MediaBrowser.Model.Entities;
|
|
using MediaBrowser.TV.Entities;
|
|
|
|
namespace MediaBrowser.TV.Metadata
|
|
{
|
|
public class SeriesXmlParser : BaseItemXmlParser<Series>
|
|
{
|
|
protected override void FetchDataFromXmlNode(XmlReader reader, Series item)
|
|
{
|
|
switch (reader.Name)
|
|
{
|
|
case "id":
|
|
string id = reader.ReadString();
|
|
if (!string.IsNullOrWhiteSpace(id))
|
|
{
|
|
item.SetProviderId(MetadataProviders.Tvdb, id);
|
|
}
|
|
break;
|
|
|
|
case "Airs_DayOfWeek":
|
|
{
|
|
string day = reader.ReadString();
|
|
|
|
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.ReadString();
|
|
break;
|
|
|
|
case "SeriesName":
|
|
item.Name = reader.ReadString();
|
|
break;
|
|
|
|
case "Status":
|
|
item.Status = reader.ReadString();
|
|
break;
|
|
|
|
case "Runtime":
|
|
{
|
|
string text = reader.ReadString();
|
|
|
|
if (!string.IsNullOrWhiteSpace(text))
|
|
{
|
|
|
|
int runtime;
|
|
if (int.TryParse(text.Split(' ')[0], out runtime))
|
|
{
|
|
item.RunTimeTicks = TimeSpan.FromMinutes(runtime).Ticks;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
|
|
default:
|
|
base.FetchDataFromXmlNode(reader, item);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|