diff --git a/MediaBrowser.Api/ItemUpdateService.cs b/MediaBrowser.Api/ItemUpdateService.cs
index b8ae9392a..23ff74495 100644
--- a/MediaBrowser.Api/ItemUpdateService.cs
+++ b/MediaBrowser.Api/ItemUpdateService.cs
@@ -211,11 +211,6 @@ namespace MediaBrowser.Api
UpdateItem(request, item);
- if (isLockedChanged && item.IsLocked)
- {
- item.IsUnidentified = false;
- }
-
await item.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
if (request.People != null)
@@ -321,13 +316,8 @@ namespace MediaBrowser.Api
SetProductionLocations(item, request);
- var hasLang = item as IHasPreferredMetadataLanguage;
-
- if (hasLang != null)
- {
- hasLang.PreferredMetadataCountryCode = request.PreferredMetadataCountryCode;
- hasLang.PreferredMetadataLanguage = request.PreferredMetadataLanguage;
- }
+ item.PreferredMetadataCountryCode = request.PreferredMetadataCountryCode;
+ item.PreferredMetadataLanguage = request.PreferredMetadataLanguage;
var hasDisplayOrder = item as IHasDisplayOrder;
if (hasDisplayOrder != null)
diff --git a/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs b/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs
index af5abf46a..62f941a7a 100644
--- a/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs
+++ b/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs
@@ -43,7 +43,6 @@ namespace MediaBrowser.Api.Reports
MusicArtist,
AudioAlbum,
Locked,
- Unidentified,
ImagePrimary,
ImageBackdrop,
ImageLogo,
diff --git a/MediaBrowser.Api/Reports/Common/ItemViewType.cs b/MediaBrowser.Api/Reports/Common/ItemViewType.cs
index 5126457cf..098442115 100644
--- a/MediaBrowser.Api/Reports/Common/ItemViewType.cs
+++ b/MediaBrowser.Api/Reports/Common/ItemViewType.cs
@@ -17,7 +17,6 @@ namespace MediaBrowser.Api.Reports
TrailersImage,
SpecialsImage,
LockDataImage,
- UnidentifiedImage,
TagsPrimaryImage,
TagsBackdropImage,
TagsLogoImage,
diff --git a/MediaBrowser.Api/Reports/Data/ReportBuilder.cs b/MediaBrowser.Api/Reports/Data/ReportBuilder.cs
index 512441bd7..5e339dc73 100644
--- a/MediaBrowser.Api/Reports/Data/ReportBuilder.cs
+++ b/MediaBrowser.Api/Reports/Data/ReportBuilder.cs
@@ -105,7 +105,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -122,7 +121,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -143,7 +141,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -161,7 +158,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -177,7 +173,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -198,7 +193,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -223,7 +217,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -241,7 +234,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -260,7 +252,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -284,7 +275,6 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -315,11 +305,9 @@ namespace MediaBrowser.Api.Reports
{
HeaderMetadata.Status,
HeaderMetadata.Locked,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
- HeaderMetadata.Unidentified,
HeaderMetadata.ImagePrimary,
HeaderMetadata.ImageBackdrop,
HeaderMetadata.ImageLogo,
@@ -376,12 +364,6 @@ namespace MediaBrowser.Api.Reports
option.Header.CanGroup = false;
option.Header.DisplayType = ReportDisplayType.Export;
break;
- case HeaderMetadata.Unidentified:
- option.Column = (i, r) => this.GetBoolString(r.IsUnidentified);
- option.Header.ItemViewType = ItemViewType.UnidentifiedImage;
- option.Header.CanGroup = false;
- option.Header.DisplayType = ReportDisplayType.Export;
- break;
case HeaderMetadata.ImagePrimary:
option.Column = (i, r) => this.GetBoolString(r.HasImageTagsPrimary);
option.Header.ItemViewType = ItemViewType.TagsPrimaryImage;
@@ -633,7 +615,6 @@ namespace MediaBrowser.Api.Reports
{
Id = item.Id.ToString("N"),
HasLockData = item.IsLocked,
- IsUnidentified = item.IsUnidentified,
HasLocalTrailer = hasTrailers != null ? hasTrailers.GetTrailerIds().Count() > 0 : false,
HasImageTagsPrimary = (item.ImageInfos != null && item.ImageInfos.Count(n => n.Type == ImageType.Primary) > 0),
HasImageTagsBackdrop = (item.ImageInfos != null && item.ImageInfos.Count(n => n.Type == ImageType.Backdrop) > 0),
diff --git a/MediaBrowser.Api/Reports/Model/ReportRow.cs b/MediaBrowser.Api/Reports/Model/ReportRow.cs
index 3f66b8479..1a46b72b7 100644
--- a/MediaBrowser.Api/Reports/Model/ReportRow.cs
+++ b/MediaBrowser.Api/Reports/Model/ReportRow.cs
@@ -56,10 +56,6 @@ namespace MediaBrowser.Api.Reports
/// true if this object has specials, false if not.
public bool HasSpecials { get; set; }
- /// Gets or sets a value indicating whether this object is unidentified.
- /// true if this object is unidentified, false if not.
- public bool IsUnidentified { get; set; }
-
/// Gets or sets the columns.
/// The columns.
public List Columns { get; set; }
diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs
index 82e7264f1..6c2886f5b 100644
--- a/MediaBrowser.Api/Reports/ReportsService.cs
+++ b/MediaBrowser.Api/Reports/ReportsService.cs
@@ -226,7 +226,6 @@ namespace MediaBrowser.Api.Reports
NameStartsWithOrGreater = request.NameStartsWithOrGreater,
HasImdbId = request.HasImdbId,
IsYearMismatched = request.IsYearMismatched,
- IsUnidentified = request.IsUnidentified,
IsPlaceHolder = request.IsPlaceHolder,
IsLocked = request.IsLocked,
IsInBoxSet = request.IsInBoxSet,
diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
index 7db8e4dca..4d844e6cb 100644
--- a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
+++ b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs
@@ -299,9 +299,6 @@ namespace MediaBrowser.Api.UserLibrary
[ApiMember(Name = "IsLocked", Description = "Optional filter by items that are locked.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public bool? IsLocked { get; set; }
- [ApiMember(Name = "IsUnidentified", Description = "Optional filter by items that are unidentified by internet metadata providers.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
- public bool? IsUnidentified { get; set; }
-
[ApiMember(Name = "IsPlaceHolder", Description = "Optional filter by items that are placeholders", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
public bool? IsPlaceHolder { get; set; }
diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs
index 7d3290c2f..f1168ab7f 100644
--- a/MediaBrowser.Api/UserLibrary/ItemsService.cs
+++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs
@@ -192,7 +192,6 @@ namespace MediaBrowser.Api.UserLibrary
NameStartsWithOrGreater = request.NameStartsWithOrGreater,
HasImdbId = request.HasImdbId,
IsYearMismatched = request.IsYearMismatched,
- IsUnidentified = request.IsUnidentified,
IsPlaceHolder = request.IsPlaceHolder,
IsLocked = request.IsLocked,
IsInBoxSet = request.IsInBoxSet,
diff --git a/MediaBrowser.Controller/Channels/Channel.cs b/MediaBrowser.Controller/Channels/Channel.cs
index f0328a1d8..839b7d68f 100644
--- a/MediaBrowser.Controller/Channels/Channel.cs
+++ b/MediaBrowser.Controller/Channels/Channel.cs
@@ -10,8 +10,6 @@ namespace MediaBrowser.Controller.Channels
{
public class Channel : Folder
{
- public string OriginalChannelName { get; set; }
-
public override bool IsVisible(User user)
{
if (user.Policy.BlockedChannels != null)
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 75dd046a0..5403c16dd 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -55,6 +55,9 @@ namespace MediaBrowser.Controller.Entities
public static string ThemeSongFilename = "theme";
public static string ThemeVideosFolderName = "backdrops";
+ public string PreferredMetadataCountryCode { get; set; }
+ public string PreferredMetadataLanguage { get; set; }
+
public List ImageInfos { get; set; }
///
@@ -333,8 +336,6 @@ namespace MediaBrowser.Controller.Entities
[IgnoreDataMember]
public bool IsLocked { get; set; }
-
- public bool IsUnidentified { get; set; }
///
/// Gets or sets the locked fields.
@@ -973,18 +974,11 @@ namespace MediaBrowser.Controller.Entities
/// System.String.
public string GetPreferredMetadataLanguage()
{
- string lang = null;
-
- var hasLang = this as IHasPreferredMetadataLanguage;
-
- if (hasLang != null)
- {
- lang = hasLang.PreferredMetadataLanguage;
- }
+ string lang = PreferredMetadataLanguage;
if (string.IsNullOrWhiteSpace(lang))
{
- lang = Parents.OfType()
+ lang = Parents
.Select(i => i.PreferredMetadataLanguage)
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
}
@@ -1010,18 +1004,11 @@ namespace MediaBrowser.Controller.Entities
/// System.String.
public string GetPreferredMetadataCountryCode()
{
- string lang = null;
-
- var hasLang = this as IHasPreferredMetadataLanguage;
-
- if (hasLang != null)
- {
- lang = hasLang.PreferredMetadataCountryCode;
- }
+ string lang = PreferredMetadataCountryCode;
if (string.IsNullOrWhiteSpace(lang))
{
- lang = Parents.OfType()
+ lang = Parents
.Select(i => i.PreferredMetadataCountryCode)
.FirstOrDefault(i => !string.IsNullOrWhiteSpace(i));
}
diff --git a/MediaBrowser.Controller/Entities/Book.cs b/MediaBrowser.Controller/Entities/Book.cs
index e59db67a6..d31675baf 100644
--- a/MediaBrowser.Controller/Entities/Book.cs
+++ b/MediaBrowser.Controller/Entities/Book.cs
@@ -7,7 +7,7 @@ using MediaBrowser.Model.Users;
namespace MediaBrowser.Controller.Entities
{
- public class Book : BaseItem, IHasTags, IHasPreferredMetadataLanguage, IHasLookupInfo, IHasSeries
+ public class Book : BaseItem, IHasTags, IHasLookupInfo, IHasSeries
{
public override string MediaType
{
@@ -25,14 +25,6 @@ namespace MediaBrowser.Controller.Entities
public string SeriesName { get; set; }
- public string PreferredMetadataLanguage { get; set; }
-
- ///
- /// Gets or sets the preferred metadata country code.
- ///
- /// The preferred metadata country code.
- public string PreferredMetadataCountryCode { get; set; }
-
public Book()
{
Tags = new List();
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 3b00d50be..401ca66de 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -19,7 +19,7 @@ namespace MediaBrowser.Controller.Entities
///
/// Class Folder
///
- public class Folder : BaseItem, IHasThemeMedia, IHasTags, IHasPreferredMetadataLanguage
+ public class Folder : BaseItem, IHasThemeMedia, IHasTags
{
public static IUserManager UserManager { get; set; }
public static IUserViewManager UserViewManager { get; set; }
@@ -28,14 +28,6 @@ namespace MediaBrowser.Controller.Entities
public List ThemeVideoIds { get; set; }
public List Tags { get; set; }
- public string PreferredMetadataLanguage { get; set; }
-
- ///
- /// Gets or sets the preferred metadata country code.
- ///
- /// The preferred metadata country code.
- public string PreferredMetadataCountryCode { get; set; }
-
public Folder()
{
LinkedChildren = new List();
diff --git a/MediaBrowser.Controller/Entities/Game.cs b/MediaBrowser.Controller/Entities/Game.cs
index 15d2d755a..ed3e85d58 100644
--- a/MediaBrowser.Controller/Entities/Game.cs
+++ b/MediaBrowser.Controller/Entities/Game.cs
@@ -8,19 +8,11 @@ using System.Linq;
namespace MediaBrowser.Controller.Entities
{
- public class Game : BaseItem, IHasTrailers, IHasThemeMedia, IHasTags, IHasScreenshots, ISupportsPlaceHolders, IHasPreferredMetadataLanguage, IHasLookupInfo
+ public class Game : BaseItem, IHasTrailers, IHasThemeMedia, IHasTags, IHasScreenshots, ISupportsPlaceHolders, IHasLookupInfo
{
public List ThemeSongIds { get; set; }
public List ThemeVideoIds { get; set; }
- public string PreferredMetadataLanguage { get; set; }
-
- ///
- /// Gets or sets the preferred metadata country code.
- ///
- /// The preferred metadata country code.
- public string PreferredMetadataCountryCode { get; set; }
-
public Game()
{
MultiPartGameFiles = new List();
diff --git a/MediaBrowser.Controller/Entities/IHasMetadata.cs b/MediaBrowser.Controller/Entities/IHasMetadata.cs
index 9d54541f1..b8c3e2823 100644
--- a/MediaBrowser.Controller/Entities/IHasMetadata.cs
+++ b/MediaBrowser.Controller/Entities/IHasMetadata.cs
@@ -44,12 +44,6 @@ namespace MediaBrowser.Controller.Entities
/// true if XXXX, false otherwise.
bool BeforeMetadataRefresh();
- ///
- /// Gets or sets a value indicating whether this instance is unidentified.
- ///
- /// true if this instance is unidentified; otherwise, false.
- bool IsUnidentified { get; set; }
-
///
/// Afters the metadata refresh.
///
diff --git a/MediaBrowser.Controller/Entities/IHasPreferredMetadataLanguage.cs b/MediaBrowser.Controller/Entities/IHasPreferredMetadataLanguage.cs
deleted file mode 100644
index e3a233e49..000000000
--- a/MediaBrowser.Controller/Entities/IHasPreferredMetadataLanguage.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-
-namespace MediaBrowser.Controller.Entities
-{
- ///
- /// Interface IHasPreferredMetadataLanguage
- ///
- public interface IHasPreferredMetadataLanguage
- {
- ///
- /// Gets or sets the preferred metadata language.
- ///
- /// The preferred metadata language.
- string PreferredMetadataLanguage { get; set; }
-
- ///
- /// Gets or sets the preferred metadata country code.
- ///
- /// The preferred metadata country code.
- string PreferredMetadataCountryCode { get; set; }
- }
-}
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index e2d9d9a58..785e2fd2b 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -52,7 +52,6 @@ namespace MediaBrowser.Controller.Entities
public bool? IsHD { get; set; }
public bool? IsInBoxSet { get; set; }
public bool? IsLocked { get; set; }
- public bool? IsUnidentified { get; set; }
public bool? IsPlaceHolder { get; set; }
public bool? IsYearMismatched { get; set; }
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index 2663d19e8..b23833845 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -20,7 +20,6 @@ namespace MediaBrowser.Controller.Entities.TV
public List SpecialFeatureIds { get; set; }
public string OriginalTitle { get; set; }
- public int SeasonCount { get; set; }
public int? AnimeSeriesIndex { get; set; }
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index e05b838d0..ce9a8903a 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -1036,11 +1036,6 @@ namespace MediaBrowser.Controller.Entities
return false;
}
- if (request.IsUnidentified.HasValue)
- {
- return false;
- }
-
if (!string.IsNullOrWhiteSpace(request.Person))
{
return false;
@@ -1429,15 +1424,6 @@ namespace MediaBrowser.Controller.Entities
}
}
- if (query.IsUnidentified.HasValue)
- {
- var val = query.IsUnidentified.Value;
- if (item.IsUnidentified != val)
- {
- return false;
- }
- }
-
if (query.HasImdbId.HasValue)
{
var filterValue = query.HasImdbId.Value;
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index b9159b9f7..21405faf1 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -23,7 +23,6 @@ namespace MediaBrowser.Controller.Entities
ISupportsPlaceHolders,
IHasMediaSources,
IHasShortOverview,
- IHasPreferredMetadataLanguage,
IThemeMedia,
IArchivable
{
@@ -48,13 +47,6 @@ namespace MediaBrowser.Controller.Entities
public string ShortOverview { get; set; }
public ExtraType? ExtraType { get; set; }
- ///
- /// Gets or sets the preferred metadata country code.
- ///
- /// The preferred metadata country code.
- public string PreferredMetadataCountryCode { get; set; }
- public string PreferredMetadataLanguage { get; set; }
-
///
/// Gets or sets the timestamp.
///
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index a3e00359f..b20f15544 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -144,7 +144,6 @@
-
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 383d0881e..2efd6e5c6 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -304,11 +304,7 @@ namespace MediaBrowser.Controller.Providers
{
var val = reader.ReadElementContentAsString();
- var hasLanguage = item as IHasPreferredMetadataLanguage;
- if (hasLanguage != null)
- {
- hasLanguage.PreferredMetadataLanguage = val;
- }
+ item.PreferredMetadataLanguage = val;
break;
}
@@ -317,11 +313,7 @@ namespace MediaBrowser.Controller.Providers
{
var val = reader.ReadElementContentAsString();
- var hasLanguage = item as IHasPreferredMetadataLanguage;
- if (hasLanguage != null)
- {
- hasLanguage.PreferredMetadataCountryCode = val;
- }
+ item.PreferredMetadataCountryCode = val;
break;
}
diff --git a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs
index d90d22be3..b56694a92 100644
--- a/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs
+++ b/MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs
@@ -426,17 +426,13 @@ namespace MediaBrowser.LocalMetadata.Savers
}
}
- var hasLanguage = item as IHasPreferredMetadataLanguage;
- if (hasLanguage != null)
+ if (!string.IsNullOrEmpty(item.PreferredMetadataLanguage))
{
- if (!string.IsNullOrEmpty(hasLanguage.PreferredMetadataLanguage))
- {
- builder.Append("" + SecurityElement.Escape(hasLanguage.PreferredMetadataLanguage) + "");
- }
- if (!string.IsNullOrEmpty(hasLanguage.PreferredMetadataCountryCode))
- {
- builder.Append("" + SecurityElement.Escape(hasLanguage.PreferredMetadataCountryCode) + "");
- }
+ builder.Append("" + SecurityElement.Escape(item.PreferredMetadataLanguage) + "");
+ }
+ if (!string.IsNullOrEmpty(item.PreferredMetadataCountryCode))
+ {
+ builder.Append("" + SecurityElement.Escape(item.PreferredMetadataCountryCode) + "");
}
// Use original runtime here, actual file runtime later in MediaInfo
diff --git a/MediaBrowser.Model/Dto/BaseItemDto.cs b/MediaBrowser.Model/Dto/BaseItemDto.cs
index 90dd3ad58..57fc711c2 100644
--- a/MediaBrowser.Model/Dto/BaseItemDto.cs
+++ b/MediaBrowser.Model/Dto/BaseItemDto.cs
@@ -275,12 +275,6 @@ namespace MediaBrowser.Model.Dto
/// The production year.
public int? ProductionYear { get; set; }
- ///
- /// Gets or sets the season count.
- ///
- /// The season count.
- public int? SeasonCount { get; set; }
-
///
/// Gets or sets the players supported by a game.
///
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index 71cfea209..daf0a5822 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -483,13 +483,7 @@ namespace MediaBrowser.Providers.Manager
}
}
- var isUnidentified = failedProviderCount > 0 && successfulProviderCount == 0;
-
- if (item.IsUnidentified != isUnidentified)
- {
- item.IsUnidentified = isUnidentified;
- refreshResult.UpdateType = refreshResult.UpdateType | ItemUpdateType.MetadataImport;
- }
+ //var isUnidentified = failedProviderCount > 0 && successfulProviderCount == 0;
foreach (var provider in customProviders.Where(i => !(i is IPreRefreshProvider)))
{
diff --git a/MediaBrowser.Providers/Manager/ProviderUtils.cs b/MediaBrowser.Providers/Manager/ProviderUtils.cs
index fa4840f10..20b2ac6cd 100644
--- a/MediaBrowser.Providers/Manager/ProviderUtils.cs
+++ b/MediaBrowser.Providers/Manager/ProviderUtils.cs
@@ -227,14 +227,8 @@ namespace MediaBrowser.Providers.Manager
target.DateCreated = source.DateCreated;
}
- var sourceHasLanguageSettings = source as IHasPreferredMetadataLanguage;
- var targetHasLanguageSettings = target as IHasPreferredMetadataLanguage;
-
- if (sourceHasLanguageSettings != null && targetHasLanguageSettings != null)
- {
- targetHasLanguageSettings.PreferredMetadataCountryCode = sourceHasLanguageSettings.PreferredMetadataCountryCode;
- targetHasLanguageSettings.PreferredMetadataLanguage = sourceHasLanguageSettings.PreferredMetadataLanguage;
- }
+ target.PreferredMetadataCountryCode = source.PreferredMetadataCountryCode;
+ target.PreferredMetadataLanguage = source.PreferredMetadataLanguage;
var sourceHasDisplayOrder = source as IHasDisplayOrder;
var targetHasDisplayOrder = target as IHasDisplayOrder;
diff --git a/MediaBrowser.Providers/TV/SeriesMetadataService.cs b/MediaBrowser.Providers/TV/SeriesMetadataService.cs
index 24da853d3..6a038b0ac 100644
--- a/MediaBrowser.Providers/TV/SeriesMetadataService.cs
+++ b/MediaBrowser.Providers/TV/SeriesMetadataService.cs
@@ -62,11 +62,6 @@ namespace MediaBrowser.Providers.TV
var sourceItem = source.Item;
var targetItem = target.Item;
- if (replaceData || targetItem.SeasonCount == 0)
- {
- targetItem.SeasonCount = sourceItem.SeasonCount;
- }
-
if (replaceData || string.IsNullOrEmpty(targetItem.AirTime))
{
targetItem.AirTime = sourceItem.AirTime;
diff --git a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
index f7a2dcefe..991aba6de 100644
--- a/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
+++ b/MediaBrowser.Providers/TV/SeriesPostScanTask.cs
@@ -68,12 +68,6 @@ namespace MediaBrowser.Providers.TV
var physicalEpisodes = episodes.Where(i => i.LocationType != LocationType.Virtual)
.ToList();
- series.SeasonCount = episodes
- .Select(i => i.ParentIndexNumber ?? 0)
- .Where(i => i != 0)
- .Distinct()
- .Count();
-
series.SpecialFeatureIds = physicalEpisodes
.Where(i => i.ParentIndexNumber.HasValue && i.ParentIndexNumber.Value == 0)
.Select(i => i.Id)
diff --git a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
index d7209fbdf..9b2f81217 100644
--- a/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
+++ b/MediaBrowser.Server.Implementations/Channels/ChannelManager.cs
@@ -303,7 +303,7 @@ namespace MediaBrowser.Server.Implementations.Channels
try
{
- var files = _fileSystem.GetFiles(parentPath);
+ var files = _fileSystem.GetFiles(parentPath);
if (string.Equals(item.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase))
{
@@ -396,7 +396,7 @@ namespace MediaBrowser.Server.Implementations.Channels
{
_logger.Debug("Creating directory {0}", path);
- _fileSystem.CreateDirectory(path);
+ _fileSystem.CreateDirectory(path);
fileInfo = new DirectoryInfo(path);
if (!fileInfo.Exists)
@@ -417,16 +417,22 @@ namespace MediaBrowser.Server.Implementations.Channels
Id = id,
DateCreated = _fileSystem.GetCreationTimeUtc(fileInfo),
DateModified = _fileSystem.GetLastWriteTimeUtc(fileInfo),
- Path = path
+ Path = path,
+ ChannelId = channelInfo.Name.GetMD5().ToString("N")
};
isNew = true;
}
+ var channelId = channelInfo.Name.GetMD5().ToString("N");
+ if (!string.Equals(item.ChannelId, channelId, StringComparison.OrdinalIgnoreCase))
+ {
+ isNew = true;
+ }
+
item.OfficialRating = GetOfficialRating(channelInfo.ParentalRating);
item.Overview = channelInfo.Description;
item.HomePageUrl = channelInfo.HomePageUrl;
- item.OriginalChannelName = channelInfo.Name;
if (string.IsNullOrEmpty(item.Name))
{
@@ -1067,7 +1073,7 @@ namespace MediaBrowser.Server.Implementations.Channels
{
try
{
- _fileSystem.CreateDirectory(Path.GetDirectoryName(path));
+ _fileSystem.CreateDirectory(Path.GetDirectoryName(path));
_jsonSerializer.SerializeToFile(result, path);
}
@@ -1296,7 +1302,7 @@ namespace MediaBrowser.Server.Implementations.Channels
internal IChannel GetChannelProvider(Channel channel)
{
- return GetAllChannels().First(i => string.Equals(i.Name, channel.OriginalChannelName, StringComparison.OrdinalIgnoreCase));
+ return GetAllChannels().First(i => string.Equals(i.Name.GetMD5().ToString("N"), channel.ChannelId, StringComparison.OrdinalIgnoreCase) || string.Equals(i.Name, channel.Name, StringComparison.OrdinalIgnoreCase));
}
private IEnumerable ApplyFilters(IEnumerable items, IEnumerable filters, User user)
@@ -1447,7 +1453,7 @@ namespace MediaBrowser.Server.Implementations.Channels
options.RequestHeaders[header.Key] = header.Value;
}
- _fileSystem.CreateDirectory(Path.GetDirectoryName(destination));
+ _fileSystem.CreateDirectory(Path.GetDirectoryName(destination));
// Determine output extension
var response = await _httpClient.GetTempFileResponse(options).ConfigureAwait(false);
@@ -1485,7 +1491,7 @@ namespace MediaBrowser.Server.Implementations.Channels
throw new ApplicationException("Unexpected response type encountered: " + response.ContentType);
}
- _fileSystem.CopyFile(response.TempFilePath, destination, true);
+ _fileSystem.CopyFile(response.TempFilePath, destination, true);
try
{
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 2f2ebb349..07374a6c3 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -1042,13 +1042,8 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.MediaType = item.MediaType;
dto.LocationType = item.LocationType;
- var hasLang = item as IHasPreferredMetadataLanguage;
-
- if (hasLang != null)
- {
- dto.PreferredMetadataCountryCode = hasLang.PreferredMetadataCountryCode;
- dto.PreferredMetadataLanguage = hasLang.PreferredMetadataLanguage;
- }
+ dto.PreferredMetadataCountryCode = item.PreferredMetadataCountryCode;
+ dto.PreferredMetadataLanguage = item.PreferredMetadataLanguage;
var hasCriticRating = item as IHasCriticRating;
if (hasCriticRating != null)
@@ -1427,8 +1422,6 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.AirTime = series.AirTime;
dto.SeriesStatus = series.Status;
- dto.SeasonCount = series.SeasonCount;
-
if (fields.Contains(ItemFields.Settings))
{
dto.DisplaySpecialsWithSeasons = series.DisplaySpecialsWithSeasons;
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 35ef80b32..8ce121db3 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -72,7 +72,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
private IDbCommand _deletePeopleCommand;
private IDbCommand _savePersonCommand;
- private const int LatestSchemaVersion = 10;
+ private const int LatestSchemaVersion = 11;
///
/// Initializes a new instance of the class.
@@ -184,6 +184,9 @@ namespace MediaBrowser.Server.Implementations.Persistence
_connection.AddColumn(_logger, "TypedBaseItems", "EpisodeTitle", "Text");
_connection.AddColumn(_logger, "TypedBaseItems", "IsRepeat", "BIT");
+
+ _connection.AddColumn(_logger, "TypedBaseItems", "PreferredMetadataLanguage", "Text");
+ _connection.AddColumn(_logger, "TypedBaseItems", "PreferredMetadataCountryCode", "Text");
PrepareStatements();
@@ -216,7 +219,9 @@ namespace MediaBrowser.Server.Implementations.Persistence
"CommunityRating",
"CustomRating",
"IndexNumber",
- "IsLocked"
+ "IsLocked",
+ "PreferredMetadataLanguage",
+ "PreferredMetadataCountryCode"
};
///
@@ -267,7 +272,9 @@ namespace MediaBrowser.Server.Implementations.Persistence
"DateModified",
"ForcedSortName",
"IsOffline",
- "LocationType"
+ "LocationType",
+ "PreferredMetadataLanguage",
+ "PreferredMetadataCountryCode"
};
_saveItemCommand = _connection.CreateCommand();
_saveItemCommand.CommandText = "replace into TypedBaseItems (" + string.Join(",", saveColumns.ToArray()) + ") values (";
@@ -451,6 +458,9 @@ namespace MediaBrowser.Server.Implementations.Persistence
_saveItemCommand.GetParameter(index++).Value = item.IsOffline;
_saveItemCommand.GetParameter(index++).Value = item.LocationType.ToString();
+ _saveItemCommand.GetParameter(index++).Value = item.PreferredMetadataLanguage;
+ _saveItemCommand.GetParameter(index++).Value = item.PreferredMetadataCountryCode;
+
_saveItemCommand.Transaction = transaction;
_saveItemCommand.ExecuteNonQuery();
@@ -647,6 +657,16 @@ namespace MediaBrowser.Server.Implementations.Persistence
item.IsLocked = reader.GetBoolean(18);
}
+ if (!reader.IsDBNull(19))
+ {
+ item.PreferredMetadataLanguage = reader.GetString(19);
+ }
+
+ if (!reader.IsDBNull(20))
+ {
+ item.PreferredMetadataCountryCode = reader.GetString(20);
+ }
+
return item;
}
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index ac39d9d98..c5184ec3d 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -394,11 +394,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
var val = reader.ReadElementContentAsString();
- var hasLanguage = item as IHasPreferredMetadataLanguage;
- if (hasLanguage != null)
- {
- hasLanguage.PreferredMetadataLanguage = val;
- }
+ item.PreferredMetadataLanguage = val;
break;
}
@@ -407,11 +403,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
var val = reader.ReadElementContentAsString();
- var hasLanguage = item as IHasPreferredMetadataLanguage;
- if (hasLanguage != null)
- {
- hasLanguage.PreferredMetadataCountryCode = val;
- }
+ item.PreferredMetadataCountryCode = val;
break;
}
diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
index 7d2aa0797..8876e1956 100644
--- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
+++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
@@ -599,17 +599,13 @@ namespace MediaBrowser.XbmcMetadata.Savers
writer.WriteElementString("tvcomid", tvcom);
}
- var hasLanguage = item as IHasPreferredMetadataLanguage;
- if (hasLanguage != null)
+ if (!string.IsNullOrEmpty(item.PreferredMetadataLanguage))
{
- if (!string.IsNullOrEmpty(hasLanguage.PreferredMetadataLanguage))
- {
- writer.WriteElementString("language", hasLanguage.PreferredMetadataLanguage);
- }
- if (!string.IsNullOrEmpty(hasLanguage.PreferredMetadataCountryCode))
- {
- writer.WriteElementString("countrycode", hasLanguage.PreferredMetadataCountryCode);
- }
+ writer.WriteElementString("language", item.PreferredMetadataLanguage);
+ }
+ if (!string.IsNullOrEmpty(item.PreferredMetadataCountryCode))
+ {
+ writer.WriteElementString("countrycode", item.PreferredMetadataCountryCode);
}
if (item.PremiereDate.HasValue && !(item is Episode))