EpisodeXmlParser.cs 1.5 KB

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