aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-07-24 12:48:08 -0400
committerGitHub <noreply@github.com>2016-07-24 12:48:08 -0400
commitc2e2c1db3bf63c3c408637375ee64a2dc914f02e (patch)
tree150e77f206fa6553055c0f9ea9152f3e65fa5f68 /MediaBrowser.Providers
parent4a39fba7d3357128532fc0bd6eee27fd2374c9df (diff)
parenteb321dad3bf6f67c291d9f4857a6bfabc6586891 (diff)
Merge pull request #1980 from MediaBrowser/dev
fix DateModified not refreshing
Diffstat (limited to 'MediaBrowser.Providers')
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs18
-rw-r--r--MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs5
-rw-r--r--MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs8
-rw-r--r--MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs8
-rw-r--r--MediaBrowser.Providers/Photos/PhotoProvider.cs5
5 files changed, 28 insertions, 16 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index 678d495cbc..9776c4e2f5 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -143,6 +143,22 @@ namespace MediaBrowser.Providers.Manager
var beforeSaveResult = await BeforeSave(itemOfType, isFirstRefresh || refreshOptions.ReplaceAllMetadata || refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh || requiresRefresh, updateType).ConfigureAwait(false);
updateType = updateType | beforeSaveResult;
+ if (item.LocationType == LocationType.FileSystem)
+ {
+ var file = refreshOptions.DirectoryService.GetFile(item.Path);
+ if (file != null)
+ {
+ var fileLastWriteTime = file.LastWriteTimeUtc;
+ if (item.EnableForceSaveOnDateModifiedChange && fileLastWriteTime != item.DateModified)
+ {
+ Logger.Debug("Date modified for {0}. Old date {1} new date {2} Id {3}", item.Path, item.DateModified, fileLastWriteTime, item.Id);
+ requiresRefresh = true;
+ }
+
+ item.DateModified = fileLastWriteTime;
+ }
+ }
+
// Save if changes were made, or it's never been saved before
if (refreshOptions.ForceSave || updateType > ItemUpdateType.None || isFirstRefresh || refreshOptions.ReplaceAllMetadata || requiresRefresh)
{
@@ -155,12 +171,10 @@ namespace MediaBrowser.Providers.Manager
if (hasRefreshedMetadata && hasRefreshedImages)
{
item.DateLastRefreshed = DateTime.UtcNow;
- item.DateModifiedDuringLastRefresh = item.DateModified;
}
else
{
item.DateLastRefreshed = default(DateTime);
- item.DateModifiedDuringLastRefresh = null;
}
// Save to database
diff --git a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
index bec9280b3a..6c79189887 100644
--- a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
@@ -167,9 +167,10 @@ namespace MediaBrowser.Providers.MediaInfo
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
- if (item.DateModifiedDuringLastRefresh.HasValue)
+ var file = directoryService.GetFile(item.Path);
+ if (file != null && file.LastWriteTimeUtc != item.DateModified)
{
- return item.DateModifiedDuringLastRefresh.Value != item.DateModified;
+ return true;
}
return false;
diff --git a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
index b89b0b9256..11280cff21 100644
--- a/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/FFProbeProvider.cs
@@ -171,12 +171,10 @@ namespace MediaBrowser.Providers.MediaInfo
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
- if (item.DateModifiedDuringLastRefresh.HasValue)
+ var file = directoryService.GetFile(item.Path);
+ if (file != null && file.LastWriteTimeUtc != item.DateModified)
{
- if (item.DateModifiedDuringLastRefresh.Value != item.DateModified)
- {
- return true;
- }
+ return true;
}
if (item.SupportsLocalMetadata)
diff --git a/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs b/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs
index 9a1f072cd2..5fc3630627 100644
--- a/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs
@@ -195,12 +195,10 @@ namespace MediaBrowser.Providers.MediaInfo
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
- if (item.DateModifiedDuringLastRefresh.HasValue)
+ var file = directoryService.GetFile(item.Path);
+ if (file != null && file.LastWriteTimeUtc != item.DateModified)
{
- if (item.DateModifiedDuringLastRefresh.Value != item.DateModified)
- {
- return true;
- }
+ return true;
}
return false;
diff --git a/MediaBrowser.Providers/Photos/PhotoProvider.cs b/MediaBrowser.Providers/Photos/PhotoProvider.cs
index 882363b2f8..619b726368 100644
--- a/MediaBrowser.Providers/Photos/PhotoProvider.cs
+++ b/MediaBrowser.Providers/Photos/PhotoProvider.cs
@@ -154,9 +154,10 @@ namespace MediaBrowser.Providers.Photos
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService)
{
- if (item.DateModifiedDuringLastRefresh.HasValue)
+ var file = directoryService.GetFile(item.Path);
+ if (file != null && file.LastWriteTimeUtc != item.DateModified)
{
- return item.DateModifiedDuringLastRefresh.Value != item.DateModified;
+ return true;
}
return false;