aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager/ProviderUtils.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/Manager/ProviderUtils.cs')
-rw-r--r--MediaBrowser.Providers/Manager/ProviderUtils.cs72
1 files changed, 28 insertions, 44 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderUtils.cs b/MediaBrowser.Providers/Manager/ProviderUtils.cs
index b727e1354..3a961fe0e 100644
--- a/MediaBrowser.Providers/Manager/ProviderUtils.cs
+++ b/MediaBrowser.Providers/Manager/ProviderUtils.cs
@@ -63,21 +63,12 @@ namespace MediaBrowser.Providers.Manager
if (!lockedFields.Contains(MetadataFields.Genres))
{
- if (replaceData || target.Genres.Count == 0)
+ if (replaceData || target.Genres.Length == 0)
{
target.Genres = source.Genres;
}
}
- if (replaceData || string.IsNullOrEmpty(target.HomePageUrl))
- {
- target.HomePageUrl = source.HomePageUrl;
- if (!string.IsNullOrWhiteSpace(target.HomePageUrl) && target.HomePageUrl.IndexOf("http", StringComparison.OrdinalIgnoreCase) != 0)
- {
- target.HomePageUrl = "http://" + target.HomePageUrl;
- }
- }
-
if (replaceData || !target.IndexNumber.HasValue)
{
target.IndexNumber = source.IndexNumber;
@@ -189,22 +180,29 @@ namespace MediaBrowser.Providers.Manager
MergeVideoInfo(source, target, lockedFields, replaceData);
MergeDisplayOrder(source, target, lockedFields, replaceData);
- //if (!lockedFields.Contains(MetadataFields.SortName))
+ if (replaceData || string.IsNullOrEmpty(target.ForcedSortName))
{
- if (replaceData || string.IsNullOrEmpty(target.ForcedSortName))
- {
- var forcedSortName = source.ForcedSortName;
+ var forcedSortName = source.ForcedSortName;
- if (!string.IsNullOrWhiteSpace(forcedSortName))
- {
- target.ForcedSortName = forcedSortName;
- }
+ if (!string.IsNullOrWhiteSpace(forcedSortName))
+ {
+ target.ForcedSortName = forcedSortName;
}
}
if (mergeMetadataSettings)
{
- MergeMetadataSettings(source, target);
+ target.LockedFields = source.LockedFields;
+ target.IsLocked = source.IsLocked;
+
+ // Grab the value if it's there, but if not then don't overwrite the default
+ if (source.DateCreated != default(DateTime))
+ {
+ target.DateCreated = source.DateCreated;
+ }
+
+ target.PreferredMetadataCountryCode = source.PreferredMetadataCountryCode;
+ target.PreferredMetadataLanguage = source.PreferredMetadataLanguage;
}
}
@@ -233,22 +231,6 @@ namespace MediaBrowser.Providers.Manager
}
}
- public static void MergeMetadataSettings(BaseItem source,
- BaseItem target)
- {
- target.LockedFields = source.LockedFields;
- target.IsLocked = source.IsLocked;
-
- // Grab the value if it's there, but if not then don't overwrite the default
- if (source.DateCreated != default(DateTime))
- {
- target.DateCreated = source.DateCreated;
- }
-
- target.PreferredMetadataCountryCode = source.PreferredMetadataCountryCode;
- target.PreferredMetadataLanguage = source.PreferredMetadataLanguage;
- }
-
private static void MergeDisplayOrder(BaseItem source, BaseItem target, MetadataFields[] lockedFields, bool replaceData)
{
var sourceHasDisplayOrder = source as IHasDisplayOrder;
@@ -256,7 +238,15 @@ namespace MediaBrowser.Providers.Manager
if (sourceHasDisplayOrder != null && targetHasDisplayOrder != null)
{
- targetHasDisplayOrder.DisplayOrder = sourceHasDisplayOrder.DisplayOrder;
+ if (replaceData || string.IsNullOrEmpty(targetHasDisplayOrder.DisplayOrder))
+ {
+ var displayOrder = sourceHasDisplayOrder.DisplayOrder;
+
+ if (!string.IsNullOrWhiteSpace(displayOrder))
+ {
+ targetHasDisplayOrder.DisplayOrder = displayOrder;
+ }
+ }
}
}
@@ -284,15 +274,9 @@ namespace MediaBrowser.Providers.Manager
private static void MergeTrailers(BaseItem source, BaseItem target, MetadataFields[] lockedFields, bool replaceData)
{
- var sourceCast = source as IHasTrailers;
- var targetCast = target as IHasTrailers;
-
- if (sourceCast != null && targetCast != null)
+ if (replaceData || target.RemoteTrailers.Length == 0)
{
- if (replaceData || targetCast.RemoteTrailers.Length == 0)
- {
- targetCast.RemoteTrailers = sourceCast.RemoteTrailers;
- }
+ target.RemoteTrailers = source.RemoteTrailers;
}
}