2012-07-12 06:55:27 +00:00
|
|
|
|
using System;
|
2012-08-20 15:55:05 +00:00
|
|
|
|
using System.Threading.Tasks;
|
2012-07-12 06:55:27 +00:00
|
|
|
|
using System.Xml;
|
|
|
|
|
using MediaBrowser.Controller.Xml;
|
2012-08-15 13:20:29 +00:00
|
|
|
|
using MediaBrowser.Model.Entities;
|
2012-07-12 06:55:27 +00:00
|
|
|
|
using MediaBrowser.TV.Entities;
|
|
|
|
|
|
|
|
|
|
namespace MediaBrowser.TV.Metadata
|
|
|
|
|
{
|
|
|
|
|
public class SeriesXmlParser : BaseItemXmlParser<Series>
|
|
|
|
|
{
|
2012-08-20 15:55:05 +00:00
|
|
|
|
protected async override Task FetchDataFromXmlNode(XmlReader reader, Series item)
|
2012-07-12 06:55:27 +00:00
|
|
|
|
{
|
2012-07-14 20:45:11 +00:00
|
|
|
|
switch (reader.Name)
|
2012-07-12 06:55:27 +00:00
|
|
|
|
{
|
|
|
|
|
case "id":
|
2012-08-20 15:55:05 +00:00
|
|
|
|
string id = await reader.ReadElementContentAsStringAsync();
|
2012-08-15 13:20:29 +00:00
|
|
|
|
if (!string.IsNullOrWhiteSpace(id))
|
|
|
|
|
{
|
|
|
|
|
item.SetProviderId(MetadataProviders.Tvdb, id);
|
|
|
|
|
}
|
2012-07-12 06:55:27 +00:00
|
|
|
|
break;
|
|
|
|
|
|
2012-07-20 14:47:39 +00:00
|
|
|
|
case "Airs_DayOfWeek":
|
2012-07-20 19:03:11 +00:00
|
|
|
|
{
|
2012-08-20 15:55:05 +00:00
|
|
|
|
string day = await reader.ReadElementContentAsStringAsync();
|
2012-07-20 19:03:11 +00:00
|
|
|
|
|
|
|
|
|
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 14:47:39 +00:00
|
|
|
|
|
|
|
|
|
case "Airs_Time":
|
2012-08-20 15:55:05 +00:00
|
|
|
|
item.AirTime = await reader.ReadElementContentAsStringAsync();
|
2012-07-20 14:47:39 +00:00
|
|
|
|
break;
|
|
|
|
|
|
2012-07-12 06:55:27 +00:00
|
|
|
|
case "SeriesName":
|
2012-08-20 15:55:05 +00:00
|
|
|
|
item.Name = await reader.ReadElementContentAsStringAsync();
|
2012-07-12 06:55:27 +00:00
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case "Status":
|
2012-08-20 15:55:05 +00:00
|
|
|
|
item.Status = await reader.ReadElementContentAsStringAsync();
|
2012-07-12 06:55:27 +00:00
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
2012-08-20 15:55:05 +00:00
|
|
|
|
await base.FetchDataFromXmlNode(reader, item);
|
2012-07-12 06:55:27 +00:00
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|