MovieXmlParser.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using MediaBrowser.Controller.Entities;
  2. using MediaBrowser.Controller.Entities.Movies;
  3. using MediaBrowser.Controller.Providers;
  4. using MediaBrowser.Model.Logging;
  5. using System.Xml;
  6. namespace MediaBrowser.LocalMetadata.Parsers
  7. {
  8. /// <summary>
  9. /// Class EpisodeXmlParser
  10. /// </summary>
  11. public class BaseVideoXmlParser<T> : BaseItemXmlParser<T>
  12. where T : Video
  13. {
  14. public BaseVideoXmlParser(ILogger logger, IProviderManager providerManager)
  15. : base(logger, providerManager)
  16. {
  17. }
  18. /// <summary>
  19. /// Fetches the data from XML node.
  20. /// </summary>
  21. /// <param name="reader">The reader.</param>
  22. /// <param name="result">The result.</param>
  23. protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<T> result)
  24. {
  25. var item = result.Item;
  26. switch (reader.Name)
  27. {
  28. case "TmdbCollectionName":
  29. {
  30. var val = reader.ReadElementContentAsString();
  31. var movie = item as Movie;
  32. if (!string.IsNullOrWhiteSpace(val) && movie != null)
  33. {
  34. movie.CollectionName = val;
  35. }
  36. break;
  37. }
  38. default:
  39. base.FetchDataFromXmlNode(reader, result);
  40. break;
  41. }
  42. }
  43. }
  44. public class MovieXmlParser : BaseVideoXmlParser<Movie>
  45. {
  46. public MovieXmlParser(ILogger logger, IProviderManager providerManager) : base(logger, providerManager)
  47. {
  48. }
  49. }
  50. public class VideoXmlParser : BaseVideoXmlParser<Video>
  51. {
  52. public VideoXmlParser(ILogger logger, IProviderManager providerManager)
  53. : base(logger, providerManager)
  54. {
  55. }
  56. }
  57. }