aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager/MetadataService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-07-24 12:46:17 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-07-24 12:46:17 -0400
commiteb321dad3bf6f67c291d9f4857a6bfabc6586891 (patch)
tree29480b32682f6b238d127bf2a5db49790714bd9e /MediaBrowser.Providers/Manager/MetadataService.cs
parent98bb84e82a77685f105c9e10588c30ee65e1fd68 (diff)
fix DateModified not refreshing
Diffstat (limited to 'MediaBrowser.Providers/Manager/MetadataService.cs')
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs18
1 files changed, 16 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index 678d495cb..9776c4e2f 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