12345678910111213141516171819202122232425262728293031323334 |
- using MediaBrowser.Common.IO;
- using MediaBrowser.Controller.Providers;
- using System;
- using System.IO;
- using System.Threading;
- namespace MediaBrowser.Providers
- {
- public abstract class BaseXmlProvider: IHasChangeMonitor
- {
- protected static readonly SemaphoreSlim XmlParsingResourcePool = new SemaphoreSlim(4, 4);
- protected IFileSystem FileSystem;
- protected BaseXmlProvider(IFileSystem fileSystem)
- {
- FileSystem = fileSystem;
- }
- protected abstract string GetXmlPath(string path);
- public bool HasChanged(IHasMetadata item, DateTime date)
- {
- var path = GetXmlPath(item.Path);
- return FileSystem.GetLastWriteTimeUtc(path) > date;
- }
- public bool HasLocalMetadata(IHasMetadata item)
- {
- return File.Exists(GetXmlPath(item.Path));
- }
- }
- }
|