using System.IO; using System.Threading; using MediaBrowser.Common.Configuration; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.IO; using MediaBrowser.XbmcMetadata.Parsers; using Microsoft.Extensions.Logging; namespace MediaBrowser.XbmcMetadata.Providers { /// /// Nfo provider for episodes. /// public class EpisodeNfoProvider : BaseNfoProvider { private readonly ILogger _logger; private readonly IConfigurationManager _config; private readonly IProviderManager _providerManager; /// /// Initializes a new instance of the class. /// /// The logger. /// The file system. /// the configuration manager. /// The provider manager. public EpisodeNfoProvider( ILogger logger, IFileSystem fileSystem, IConfigurationManager config, IProviderManager providerManager) : base(fileSystem) { _logger = logger; _config = config; _providerManager = providerManager; } /// protected override void Fetch(MetadataResult result, string path, CancellationToken cancellationToken) { new EpisodeNfoParser(_logger, _config, _providerManager).Fetch(result, path, cancellationToken); } /// protected override FileSystemMetadata GetXmlFile(ItemInfo info, IDirectoryService directoryService) { var path = Path.ChangeExtension(info.Path, ".nfo"); return directoryService.GetFile(path); } } }