SeasonNfoParser.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Globalization;
  2. using System.Xml;
  3. using MediaBrowser.Common.Configuration;
  4. using MediaBrowser.Controller.Entities.TV;
  5. using MediaBrowser.Controller.Providers;
  6. using Microsoft.Extensions.Logging;
  7. namespace MediaBrowser.XbmcMetadata.Parsers
  8. {
  9. public class SeasonNfoParser : BaseNfoParser<Season>
  10. {
  11. public SeasonNfoParser(ILogger logger, IConfigurationManager config, IProviderManager providerManager)
  12. : base(logger, config, providerManager)
  13. {
  14. }
  15. /// <inheritdoc />
  16. protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Season> itemResult)
  17. {
  18. var item = itemResult.Item;
  19. switch (reader.Name)
  20. {
  21. case "seasonnumber":
  22. {
  23. var number = reader.ReadElementContentAsString();
  24. if (!string.IsNullOrWhiteSpace(number))
  25. {
  26. if (int.TryParse(number, NumberStyles.Integer, CultureInfo.InvariantCulture, out var num))
  27. {
  28. item.IndexNumber = num;
  29. }
  30. }
  31. break;
  32. }
  33. default:
  34. base.FetchDataFromXmlNode(reader, itemResult);
  35. break;
  36. }
  37. }
  38. }
  39. }