EpisodeXmlParser.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using MediaBrowser.Controller.Entities.TV;
  2. using System.IO;
  3. using System.Xml;
  4. namespace MediaBrowser.Controller.Providers.TV
  5. {
  6. public class EpisodeXmlParser : BaseItemXmlParser<Episode>
  7. {
  8. protected override void FetchDataFromXmlNode(XmlReader reader, Episode item)
  9. {
  10. switch (reader.Name)
  11. {
  12. case "filename":
  13. {
  14. string filename = reader.ReadElementContentAsString();
  15. if (!string.IsNullOrWhiteSpace(filename))
  16. {
  17. string seasonFolder = Path.GetDirectoryName(item.Path);
  18. item.PrimaryImagePath = Path.Combine(seasonFolder, "metadata", filename);
  19. }
  20. break;
  21. }
  22. case "SeasonNumber":
  23. {
  24. string number = reader.ReadElementContentAsString();
  25. if (!string.IsNullOrWhiteSpace(number))
  26. {
  27. item.ParentIndexNumber = int.Parse(number);
  28. }
  29. break;
  30. }
  31. case "EpisodeNumber":
  32. {
  33. string number = reader.ReadElementContentAsString();
  34. if (!string.IsNullOrWhiteSpace(number))
  35. {
  36. item.IndexNumber = int.Parse(number);
  37. }
  38. break;
  39. }
  40. case "EpisodeName":
  41. item.Name = reader.ReadElementContentAsString();
  42. break;
  43. default:
  44. base.FetchDataFromXmlNode(reader, item);
  45. break;
  46. }
  47. }
  48. }
  49. }