diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-01 14:24:27 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-01 14:24:27 -0400 |
| commit | 3d40c5ba36c5e98954c2bc6073b4cf35cd42711a (patch) | |
| tree | be7328c6d1d2193041c9b3dd00ff40fd0f825599 /MediaBrowser.Providers/Games/GameSystemProviderFromXml.cs | |
| parent | 900266eb54e3b13219eb21e6d22fb34ce28059ab (diff) | |
fixed xml providers running over and over
Diffstat (limited to 'MediaBrowser.Providers/Games/GameSystemProviderFromXml.cs')
| -rw-r--r-- | MediaBrowser.Providers/Games/GameSystemProviderFromXml.cs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/MediaBrowser.Providers/Games/GameSystemProviderFromXml.cs b/MediaBrowser.Providers/Games/GameSystemProviderFromXml.cs index e01bed88e..ed76d0842 100644 --- a/MediaBrowser.Providers/Games/GameSystemProviderFromXml.cs +++ b/MediaBrowser.Providers/Games/GameSystemProviderFromXml.cs @@ -1,5 +1,6 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; @@ -39,16 +40,17 @@ namespace MediaBrowser.Providers.Games get { return MetadataProviderPriority.First; } } - /// <summary> - /// Override this to return the date that should be compared to the last refresh date - /// to determine if this provider should be re-fetched. - /// </summary> - /// <param name="item">The item.</param> - /// <returns>DateTime.</returns> - protected override DateTime CompareDate(BaseItem item) + private const string XmlFileName = "gamesystem.xml"; + protected override bool NeedsRefreshBasedOnCompareDate(BaseItem item, BaseProviderInfo providerInfo) { - var entry = item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.MetaLocation, "gamesystem.xml")); - return entry != null ? entry.LastWriteTimeUtc : DateTime.MinValue; + var xml = item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.MetaLocation, XmlFileName)); + + if (xml == null) + { + return false; + } + + return FileSystem.GetLastWriteTimeUtc(xml, Logger) > providerInfo.LastRefreshed; } /// <summary> @@ -73,7 +75,7 @@ namespace MediaBrowser.Providers.Games { cancellationToken.ThrowIfCancellationRequested(); - var metadataFile = item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.MetaLocation, "gamesystem.xml")); + var metadataFile = item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.MetaLocation, XmlFileName)); if (metadataFile != null) { |
