jellyfin/MediaBrowser.Providers/BaseXmlProvider.cs

35 lines
882 B
C#
Raw Normal View History

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;
}
2014-02-02 13:36:31 +00:00
protected abstract FileInfo GetXmlFile(string path);
public bool HasChanged(IHasMetadata item, DateTime date)
{
2014-02-02 13:36:31 +00:00
var file = GetXmlFile(item.Path);
2014-02-02 13:36:31 +00:00
return FileSystem.GetLastWriteTimeUtc(file) > date;
}
public bool HasLocalMetadata(IHasMetadata item)
{
2014-02-02 13:36:31 +00:00
return GetXmlFile(item.Path).Exists;
}
}
}