aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager/MetadataService.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-03 00:35:43 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-03 00:35:43 -0500
commit30ebfab8e0ae39213a5a550fbcbaa2463d6a74da (patch)
treefe6614f197b623917d0034bfec02c5d500f81ab9 /MediaBrowser.Providers/Manager/MetadataService.cs
parent6261f157f340e4f544f8f41a81b3cc1f2c69f5b1 (diff)
converted season providers
Diffstat (limited to 'MediaBrowser.Providers/Manager/MetadataService.cs')
-rw-r--r--MediaBrowser.Providers/Manager/MetadataService.cs31
1 files changed, 24 insertions, 7 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index f6e27238e7..47345126db 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -89,6 +89,8 @@ namespace MediaBrowser.Providers.Manager
// Next run metadata providers
if (refreshOptions.MetadataRefreshMode != MetadataRefreshMode.None)
{
+ updateType = updateType | BeforeMetadataRefresh(itemOfType);
+
var providers = GetProviders(item, lastResult.DateLastMetadataRefresh.HasValue, refreshOptions).ToList();
if (providers.Count > 0)
@@ -100,6 +102,8 @@ namespace MediaBrowser.Providers.Manager
refreshResult.SetDateLastMetadataRefresh(DateTime.UtcNow);
refreshResult.AddImageProvidersRefreshed(result.Providers);
}
+
+ updateType = updateType | AfterMetadataRefresh(itemOfType);
}
// Next run remote image providers, but only if local image providers didn't throw an exception
@@ -116,8 +120,6 @@ namespace MediaBrowser.Providers.Manager
refreshResult.SetDateLastImagesRefresh(DateTime.UtcNow);
refreshResult.AddImageProvidersRefreshed(result.Providers);
}
-
- updateType = updateType | AfterMetadataRefresh(itemOfType);
}
var providersHadChanges = updateType > ItemUpdateType.Unspecified;
@@ -158,6 +160,16 @@ namespace MediaBrowser.Providers.Manager
}
/// <summary>
+ /// Befores the metadata refresh.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ /// <returns>ItemUpdateType.</returns>
+ protected virtual ItemUpdateType BeforeMetadataRefresh(TItemType item)
+ {
+ return ItemUpdateType.Unspecified;
+ }
+
+ /// <summary>
/// Gets the providers.
/// </summary>
/// <param name="item">The item.</param>
@@ -261,12 +273,17 @@ namespace MediaBrowser.Providers.Manager
if (localItem.HasMetadata)
{
- MergeData(localItem.Item, temp, new List<MetadataFields>(), !options.ReplaceAllMetadata, true);
- refreshResult.UpdateType = refreshResult.UpdateType | ItemUpdateType.MetadataImport;
+ if (!string.IsNullOrEmpty(localItem.Item.Name))
+ {
+ MergeData(localItem.Item, temp, new List<MetadataFields>(), !options.ReplaceAllMetadata, true);
+ refreshResult.UpdateType = refreshResult.UpdateType | ItemUpdateType.MetadataImport;
+
+ // Only one local provider allowed per item
+ hasLocalMetadata = true;
+ break;
+ }
- // Only one local provider allowed per item
- hasLocalMetadata = true;
- break;
+ Logger.Error("Invalid local metadata found for: " + item.Path);
}
}
catch (OperationCanceledException)