diff options
| author | Eric Reed <ebr@mediabrowser3.com> | 2014-01-29 12:22:53 -0500 |
|---|---|---|
| committer | Eric Reed <ebr@mediabrowser3.com> | 2014-01-29 12:22:53 -0500 |
| commit | ab5145bcd794ee579e0064c9c0f9d15b13f72fb4 (patch) | |
| tree | d68cdabe4302cc4dda8194ee840060f48d9fa714 /MediaBrowser.Providers/BaseXmlProvider.cs | |
| parent | 1f31c8dbfca9ca9134d9ee779256c435f913689b (diff) | |
| parent | c0f606683a045e463f518ec466b9fc9a85f8d4fd (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Providers/BaseXmlProvider.cs')
| -rw-r--r-- | MediaBrowser.Providers/BaseXmlProvider.cs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/MediaBrowser.Providers/BaseXmlProvider.cs b/MediaBrowser.Providers/BaseXmlProvider.cs new file mode 100644 index 000000000..eab5bb574 --- /dev/null +++ b/MediaBrowser.Providers/BaseXmlProvider.cs @@ -0,0 +1,34 @@ +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)); + } + } +} |
