aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/BaseItem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs39
1 files changed, 38 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 6e5024a45..a02369b2c 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -960,7 +960,7 @@ namespace MediaBrowser.Controller.Entities
/// Gets the preferred metadata language.
/// </summary>
/// <returns>System.String.</returns>
- public virtual string GetPreferredMetadataLanguage()
+ public string GetPreferredMetadataLanguage()
{
string lang = null;
@@ -973,6 +973,13 @@ namespace MediaBrowser.Controller.Entities
if (string.IsNullOrEmpty(lang))
{
+ lang = Parents.OfType<IHasPreferredMetadataLanguage>()
+ .Select(i => i.PreferredMetadataLanguage)
+ .FirstOrDefault(i => !string.IsNullOrEmpty(i));
+ }
+
+ if (string.IsNullOrEmpty(lang))
+ {
lang = ConfigurationManager.Configuration.PreferredMetadataLanguage;
}
@@ -980,6 +987,36 @@ namespace MediaBrowser.Controller.Entities
}
/// <summary>
+ /// Gets the preferred metadata language.
+ /// </summary>
+ /// <returns>System.String.</returns>
+ public string GetPreferredMetadataCountryCode()
+ {
+ string lang = null;
+
+ var hasLang = this as IHasPreferredMetadataLanguage;
+
+ if (hasLang != null)
+ {
+ lang = hasLang.PreferredMetadataCountryCode;
+ }
+
+ if (string.IsNullOrEmpty(lang))
+ {
+ lang = Parents.OfType<IHasPreferredMetadataLanguage>()
+ .Select(i => i.PreferredMetadataCountryCode)
+ .FirstOrDefault(i => !string.IsNullOrEmpty(i));
+ }
+
+ if (string.IsNullOrEmpty(lang))
+ {
+ lang = ConfigurationManager.Configuration.MetadataCountryCode;
+ }
+
+ return lang;
+ }
+
+ /// <summary>
/// Determines if a given user has access to this item
/// </summary>
/// <param name="user">The user.</param>