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