diff options
Diffstat (limited to 'MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs')
| -rw-r--r-- | MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs new file mode 100644 index 000000000..0a2b33744 --- /dev/null +++ b/MediaBrowser.LocalMetadata/Providers/FolderXmlProvider.cs @@ -0,0 +1,33 @@ +using System.IO; +using System.Threading; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Logging; + +namespace MediaBrowser.LocalMetadata.Providers +{ + /// <summary> + /// Provides metadata for Folders and all subclasses by parsing folder.xml + /// </summary> + public class FolderXmlProvider : BaseXmlProvider<Folder> + { + private readonly ILogger _logger; + + public FolderXmlProvider(IFileSystem fileSystem, ILogger logger) + : base(fileSystem) + { + _logger = logger; + } + + protected override void Fetch(LocalMetadataResult<Folder> result, string path, CancellationToken cancellationToken) + { + new BaseItemXmlParser<Folder>(_logger).Fetch(result.Item, path, cancellationToken); + } + + protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService) + { + return new FileInfo(Path.Combine(info.Path, "folder.xml")); + } + } +} |
