Răsfoiți Sursa

update recording creation

Luke Pulverenti 9 ani în urmă
părinte
comite
78dd9fd9eb
1 a modificat fișierele cu 18 adăugiri și 7 ștergeri
  1. 18 7
      MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs

+ 18 - 7
MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs

@@ -734,6 +734,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
 
 
             recording.ExternalId = info.Id;
             recording.ExternalId = info.Id;
 
 
+            var dataChanged = false;
+
             recording.Audio = info.Audio;
             recording.Audio = info.Audio;
             recording.EndDate = info.EndDate;
             recording.EndDate = info.EndDate;
             recording.EpisodeTitle = info.EpisodeTitle;
             recording.EpisodeTitle = info.EpisodeTitle;
@@ -744,11 +746,16 @@ namespace MediaBrowser.Server.Implementations.LiveTv
             recording.IsNews = info.IsNews;
             recording.IsNews = info.IsNews;
             recording.IsPremiere = info.IsPremiere;
             recording.IsPremiere = info.IsPremiere;
             recording.IsRepeat = info.IsRepeat;
             recording.IsRepeat = info.IsRepeat;
-            recording.IsSeries = info.IsSeries;
             recording.IsSports = info.IsSports;
             recording.IsSports = info.IsSports;
             recording.SeriesTimerId = info.SeriesTimerId;
             recording.SeriesTimerId = info.SeriesTimerId;
             recording.StartDate = info.StartDate;
             recording.StartDate = info.StartDate;
 
 
+            if (!dataChanged)
+            {
+                dataChanged = recording.IsSeries != info.IsSeries;
+            }
+            recording.IsSeries = info.IsSeries;
+
             if (!string.IsNullOrWhiteSpace(info.ImagePath))
             if (!string.IsNullOrWhiteSpace(info.ImagePath))
             {
             {
                 item.SetImagePath(ImageType.Primary, info.ImagePath);
                 item.SetImagePath(ImageType.Primary, info.ImagePath);
@@ -757,18 +764,19 @@ namespace MediaBrowser.Server.Implementations.LiveTv
             {
             {
                 item.SetImagePath(ImageType.Primary, info.ImageUrl);
                 item.SetImagePath(ImageType.Primary, info.ImageUrl);
             }
             }
-            
+
             var statusChanged = info.Status != recording.Status;
             var statusChanged = info.Status != recording.Status;
 
 
             recording.Status = info.Status;
             recording.Status = info.Status;
 
 
             recording.ServiceName = serviceName;
             recording.ServiceName = serviceName;
 
 
-            var pathChanged = false;
-
             if (!string.IsNullOrEmpty(info.Path))
             if (!string.IsNullOrEmpty(info.Path))
             {
             {
-                pathChanged = !string.Equals(item.Path, info.Path);
+                if (!dataChanged)
+                {
+                    dataChanged = !string.Equals(item.Path, info.Path);
+                }
                 var fileInfo = _fileSystem.GetFileInfo(info.Path);
                 var fileInfo = _fileSystem.GetFileInfo(info.Path);
 
 
                 recording.DateCreated = _fileSystem.GetCreationTimeUtc(fileInfo);
                 recording.DateCreated = _fileSystem.GetCreationTimeUtc(fileInfo);
@@ -777,7 +785,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
             }
             }
             else if (!string.IsNullOrEmpty(info.Url))
             else if (!string.IsNullOrEmpty(info.Url))
             {
             {
-                pathChanged = !string.Equals(item.Path, info.Url);
+                if (!dataChanged)
+                {
+                    dataChanged = !string.Equals(item.Path, info.Url);
+                }
                 item.Path = info.Url;
                 item.Path = info.Url;
             }
             }
 
 
@@ -787,7 +798,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
             {
             {
                 await _libraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false);
                 await _libraryManager.CreateItem(item, cancellationToken).ConfigureAwait(false);
             }
             }
-            else if (pathChanged || info.DateLastUpdated > recording.DateLastSaved || statusChanged)
+            else if (dataChanged || info.DateLastUpdated > recording.DateLastSaved || statusChanged)
             {
             {
                 metadataRefreshMode = MetadataRefreshMode.FullRefresh;
                 metadataRefreshMode = MetadataRefreshMode.FullRefresh;
                 await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
                 await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);