aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs10
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicGenre.cs5
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs26
-rw-r--r--MediaBrowser.Controller/Entities/GameGenre.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Genre.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Movies/BoxSet.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Person.cs9
-rw-r--r--MediaBrowser.Controller/Entities/Studio.cs6
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs7
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Year.cs5
11 files changed, 71 insertions, 14 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
index e65d3c0e7..2b8145041 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
@@ -52,6 +52,16 @@ namespace MediaBrowser.Controller.Entities.Audio
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ if (IsAccessedByName)
+ {
+ return true;
+ }
+
+ return base.IsSaveLocalMetadataEnabled();
+ }
+
private readonly Task _cachedTask = Task.FromResult(true);
protected override Task ValidateChildrenInternal(IProgress<double> progress, CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
{
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
index ed0956073..971c09236 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
@@ -44,6 +44,11 @@ namespace MediaBrowser.Controller.Entities.Audio
return false;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets a value indicating whether this instance is owned item.
/// </summary>
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 3ab02ea21..50a6dda30 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -976,14 +976,21 @@ namespace MediaBrowser.Controller.Entities
lang = hasLang.PreferredMetadataLanguage;
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
.Select(i => i.PreferredMetadataLanguage)
- .FirstOrDefault(i => !string.IsNullOrEmpty(i));
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
+ {
+ lang = LibraryManager.GetCollectionFolders(this)
+ .Select(i => i.PreferredMetadataLanguage)
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
+ }
+
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = ConfigurationManager.Configuration.PreferredMetadataLanguage;
}
@@ -1006,14 +1013,21 @@ namespace MediaBrowser.Controller.Entities
lang = hasLang.PreferredMetadataCountryCode;
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = Parents.OfType<IHasPreferredMetadataLanguage>()
.Select(i => i.PreferredMetadataCountryCode)
- .FirstOrDefault(i => !string.IsNullOrEmpty(i));
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
+ }
+
+ if (string.IsNullOrWhiteSpace(lang))
+ {
+ lang = LibraryManager.GetCollectionFolders(this)
+ .Select(i => i.PreferredMetadataCountryCode)
+ .FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
}
- if (string.IsNullOrEmpty(lang))
+ if (string.IsNullOrWhiteSpace(lang))
{
lang = ConfigurationManager.Configuration.MetadataCountryCode;
}
diff --git a/MediaBrowser.Controller/Entities/GameGenre.cs b/MediaBrowser.Controller/Entities/GameGenre.cs
index b246b9388..c91acbe3f 100644
--- a/MediaBrowser.Controller/Entities/GameGenre.cs
+++ b/MediaBrowser.Controller/Entities/GameGenre.cs
@@ -43,6 +43,11 @@ namespace MediaBrowser.Controller.Entities
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
public override bool CanDelete()
{
return false;
diff --git a/MediaBrowser.Controller/Entities/Genre.cs b/MediaBrowser.Controller/Entities/Genre.cs
index e17a5c1d8..cb68e5dae 100644
--- a/MediaBrowser.Controller/Entities/Genre.cs
+++ b/MediaBrowser.Controller/Entities/Genre.cs
@@ -34,6 +34,11 @@ namespace MediaBrowser.Controller.Entities
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
public override bool CanDelete()
{
return false;
diff --git a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
index d874046ef..0778643da 100644
--- a/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
+++ b/MediaBrowser.Controller/Entities/Movies/BoxSet.cs
@@ -79,6 +79,11 @@ namespace MediaBrowser.Controller.Entities.Movies
return true;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets the trailer ids.
/// </summary>
diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs
index d8cb69ca1..ef24d4347 100644
--- a/MediaBrowser.Controller/Entities/Person.cs
+++ b/MediaBrowser.Controller/Entities/Person.cs
@@ -1,8 +1,8 @@
-using System.Runtime.Serialization;
-using MediaBrowser.Controller.Providers;
+using MediaBrowser.Controller.Providers;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Runtime.Serialization;
namespace MediaBrowser.Controller.Entities
{
@@ -50,6 +50,11 @@ namespace MediaBrowser.Controller.Entities
return false;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets a value indicating whether this instance is owned item.
/// </summary>
diff --git a/MediaBrowser.Controller/Entities/Studio.cs b/MediaBrowser.Controller/Entities/Studio.cs
index 31bbaf422..b8d359369 100644
--- a/MediaBrowser.Controller/Entities/Studio.cs
+++ b/MediaBrowser.Controller/Entities/Studio.cs
@@ -45,6 +45,11 @@ namespace MediaBrowser.Controller.Entities
return false;
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
/// <summary>
/// Gets a value indicating whether this instance is owned item.
/// </summary>
@@ -63,7 +68,6 @@ namespace MediaBrowser.Controller.Entities
return inputItems.Where(GetItemFilter());
}
-
public Func<BaseItem, bool> GetItemFilter()
{
return i => i.Studios.Contains(Name, StringComparer.OrdinalIgnoreCase);
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index 619617e9f..4c34460d7 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -1,7 +1,4 @@
-using System.Threading;
-using System.Threading.Tasks;
-using MediaBrowser.Controller.Localization;
-using MediaBrowser.Controller.Providers;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
@@ -10,6 +7,8 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
+using System.Threading;
+using System.Threading.Tasks;
namespace MediaBrowser.Controller.Entities.TV
{
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index b5ca053ec..85c10c272 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -1632,7 +1632,7 @@ namespace MediaBrowser.Controller.Entities
var ok = new[] { item }.Any(i =>
i.People != null &&
i.People.Any(p =>
- p.Name.Equals(query.Person, StringComparison.OrdinalIgnoreCase) && (types.Contains(p.Type, StringComparer.OrdinalIgnoreCase) || types.Contains(p.Role, StringComparer.OrdinalIgnoreCase))));
+ string.Equals(p.Name, query.Person, StringComparison.OrdinalIgnoreCase) && (types.Contains(p.Type ?? string.Empty, StringComparer.OrdinalIgnoreCase) || types.Contains(p.Role ?? string.Empty, StringComparer.OrdinalIgnoreCase))));
if (!ok)
{
diff --git a/MediaBrowser.Controller/Entities/Year.cs b/MediaBrowser.Controller/Entities/Year.cs
index cf3ad3b6a..a1a152387 100644
--- a/MediaBrowser.Controller/Entities/Year.cs
+++ b/MediaBrowser.Controller/Entities/Year.cs
@@ -52,6 +52,11 @@ namespace MediaBrowser.Controller.Entities
}
}
+ public override bool IsSaveLocalMetadataEnabled()
+ {
+ return true;
+ }
+
public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)
{
int year;