SeriesXmlParser.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using MediaBrowser.Controller.Entities.TV;
  2. using MediaBrowser.Model.Entities;
  3. using System;
  4. using System.Xml;
  5. namespace MediaBrowser.Controller.Providers.TV
  6. {
  7. public class SeriesXmlParser : BaseItemXmlParser<Series>
  8. {
  9. protected override void FetchDataFromXmlNode(XmlReader reader, Series item)
  10. {
  11. switch (reader.Name)
  12. {
  13. case "id":
  14. string id = reader.ReadElementContentAsString();
  15. if (!string.IsNullOrWhiteSpace(id))
  16. {
  17. item.SetProviderId(MetadataProviders.Tvdb, id);
  18. }
  19. break;
  20. case "Airs_DayOfWeek":
  21. {
  22. string day = reader.ReadElementContentAsString();
  23. if (!string.IsNullOrWhiteSpace(day))
  24. {
  25. if (day.Equals("Daily", StringComparison.OrdinalIgnoreCase))
  26. {
  27. item.AirDays = new DayOfWeek[] {
  28. DayOfWeek.Sunday,
  29. DayOfWeek.Monday,
  30. DayOfWeek.Tuesday,
  31. DayOfWeek.Wednesday,
  32. DayOfWeek.Thursday,
  33. DayOfWeek.Friday,
  34. DayOfWeek.Saturday
  35. };
  36. }
  37. else
  38. {
  39. item.AirDays = new DayOfWeek[] {
  40. (DayOfWeek)Enum.Parse(typeof(DayOfWeek), day, true)
  41. };
  42. }
  43. }
  44. break;
  45. }
  46. case "Airs_Time":
  47. item.AirTime = reader.ReadElementContentAsString();
  48. break;
  49. case "SeriesName":
  50. item.Name = reader.ReadElementContentAsString();
  51. break;
  52. case "Status":
  53. item.Status = reader.ReadElementContentAsString();
  54. break;
  55. default:
  56. base.FetchDataFromXmlNode(reader, item);
  57. break;
  58. }
  59. }
  60. }
  61. }