mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-17 19:08:53 -07:00
commit
e42ef5c181
@ -71,10 +71,9 @@ namespace Emby.Server.Implementations.Data
|
||||
double newPercentCommplete = 45 + .55 * p;
|
||||
progress.Report(newPercentCommplete);
|
||||
});
|
||||
await CleanDeletedItems(cancellationToken, innerProgress).ConfigureAwait(false);
|
||||
progress.Report(100);
|
||||
|
||||
await _itemRepo.UpdateInheritedValues(cancellationToken).ConfigureAwait(false);
|
||||
progress.Report(100);
|
||||
}
|
||||
|
||||
private async Task CleanDeadItems(CancellationToken cancellationToken, IProgress<double> progress)
|
||||
@ -115,115 +114,6 @@ namespace Emby.Server.Implementations.Data
|
||||
progress.Report(100);
|
||||
}
|
||||
|
||||
private async Task CleanDeletedItems(CancellationToken cancellationToken, IProgress<double> progress)
|
||||
{
|
||||
var result = _itemRepo.GetItemIdsWithPath(new InternalItemsQuery
|
||||
{
|
||||
LocationTypes = new[] { LocationType.FileSystem },
|
||||
//Limit = limit,
|
||||
|
||||
// These have their own cleanup routines
|
||||
ExcludeItemTypes = new[]
|
||||
{
|
||||
typeof(Person).Name,
|
||||
typeof(Genre).Name,
|
||||
typeof(MusicGenre).Name,
|
||||
typeof(GameGenre).Name,
|
||||
typeof(Studio).Name,
|
||||
typeof(Year).Name,
|
||||
typeof(Channel).Name,
|
||||
typeof(AggregateFolder).Name,
|
||||
typeof(CollectionFolder).Name
|
||||
}
|
||||
});
|
||||
|
||||
var numComplete = 0;
|
||||
var numItems = result.Count;
|
||||
|
||||
var allLibraryPaths = _libraryManager
|
||||
.GetVirtualFolders()
|
||||
.SelectMany(i => i.Locations)
|
||||
.ToList();
|
||||
|
||||
foreach (var item in result)
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
|
||||
var path = item.Item2;
|
||||
|
||||
try
|
||||
{
|
||||
var isPathInLibrary = false;
|
||||
|
||||
if (allLibraryPaths.Any(i => path.StartsWith(i, StringComparison.Ordinal)) ||
|
||||
allLibraryPaths.Contains(path, StringComparer.Ordinal) ||
|
||||
path.StartsWith(_appPaths.ProgramDataPath, StringComparison.Ordinal))
|
||||
{
|
||||
isPathInLibrary = true;
|
||||
|
||||
if (_fileSystem.FileExists(path) || _fileSystem.DirectoryExists(path))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
var libraryItem = _libraryManager.GetItemById(item.Item1);
|
||||
|
||||
if (libraryItem == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (libraryItem.IsTopParent)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var hasDualAccess = libraryItem as IHasDualAccess;
|
||||
if (hasDualAccess != null && hasDualAccess.IsAccessedByName)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var libraryItemPath = libraryItem.Path;
|
||||
if (!string.Equals(libraryItemPath, path, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
_logger.Error("CleanDeletedItems aborting delete for item {0}-{1} because paths don't match. {2}---{3}", libraryItem.Id, libraryItem.Name, libraryItem.Path ?? string.Empty, path ?? string.Empty);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Folder.IsPathOffline(path, allLibraryPaths))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isPathInLibrary)
|
||||
{
|
||||
_logger.Info("Deleting item from database {0} because path no longer exists. type: {1} path: {2}", libraryItem.Name, libraryItem.GetType().Name, libraryItemPath ?? string.Empty);
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.Info("Deleting item from database {0} because path is no longer in the server library. type: {1} path: {2}", libraryItem.Name, libraryItem.GetType().Name, libraryItemPath ?? string.Empty);
|
||||
}
|
||||
|
||||
await libraryItem.OnFileDeleted().ConfigureAwait(false);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
throw;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Error in CleanDeletedItems. File {0}", ex, path);
|
||||
}
|
||||
|
||||
numComplete++;
|
||||
double percent = numComplete;
|
||||
percent /= numItems;
|
||||
progress.Report(percent * 100);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the triggers that define when the task will run
|
||||
/// </summary>
|
||||
|
@ -201,7 +201,6 @@ namespace Emby.Server.Implementations.Data
|
||||
AddColumn(db, "TypedBaseItems", "SortName", "Text", existingColumnNames);
|
||||
AddColumn(db, "TypedBaseItems", "RunTimeTicks", "BIGINT", existingColumnNames);
|
||||
|
||||
AddColumn(db, "TypedBaseItems", "OfficialRatingDescription", "Text", existingColumnNames);
|
||||
AddColumn(db, "TypedBaseItems", "HomePageUrl", "Text", existingColumnNames);
|
||||
AddColumn(db, "TypedBaseItems", "VoteCount", "INT", existingColumnNames);
|
||||
AddColumn(db, "TypedBaseItems", "DisplayMediaType", "Text", existingColumnNames);
|
||||
@ -209,7 +208,6 @@ namespace Emby.Server.Implementations.Data
|
||||
AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames);
|
||||
|
||||
AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames);
|
||||
AddColumn(db, "TypedBaseItems", "LocationType", "Text", existingColumnNames);
|
||||
|
||||
AddColumn(db, "TypedBaseItems", "IsSeries", "BIT", existingColumnNames);
|
||||
AddColumn(db, "TypedBaseItems", "IsLive", "BIT", existingColumnNames);
|
||||
@ -427,7 +425,6 @@ namespace Emby.Server.Implementations.Data
|
||||
"ParentIndexNumber",
|
||||
"ProductionYear",
|
||||
"OfficialRating",
|
||||
"OfficialRatingDescription",
|
||||
"HomePageUrl",
|
||||
"DisplayMediaType",
|
||||
"ForcedSortName",
|
||||
@ -548,14 +545,12 @@ namespace Emby.Server.Implementations.Data
|
||||
"InheritedParentalRatingValue",
|
||||
"SortName",
|
||||
"RunTimeTicks",
|
||||
"OfficialRatingDescription",
|
||||
"HomePageUrl",
|
||||
"VoteCount",
|
||||
"DisplayMediaType",
|
||||
"DateCreated",
|
||||
"DateModified",
|
||||
"ForcedSortName",
|
||||
"LocationType",
|
||||
"PreferredMetadataLanguage",
|
||||
"PreferredMetadataCountryCode",
|
||||
"IsHD",
|
||||
@ -827,7 +822,6 @@ namespace Emby.Server.Implementations.Data
|
||||
saveItemStatement.TryBind("@SortName", item.SortName);
|
||||
saveItemStatement.TryBind("@RunTimeTicks", item.RunTimeTicks);
|
||||
|
||||
saveItemStatement.TryBind("@OfficialRatingDescription", item.OfficialRatingDescription);
|
||||
saveItemStatement.TryBind("@HomePageUrl", item.HomePageUrl);
|
||||
saveItemStatement.TryBind("@VoteCount", item.VoteCount);
|
||||
saveItemStatement.TryBind("@DisplayMediaType", item.DisplayMediaType);
|
||||
@ -835,7 +829,6 @@ namespace Emby.Server.Implementations.Data
|
||||
saveItemStatement.TryBind("@DateModified", item.DateModified);
|
||||
|
||||
saveItemStatement.TryBind("@ForcedSortName", item.ForcedSortName);
|
||||
saveItemStatement.TryBind("@LocationType", item.LocationType.ToString());
|
||||
|
||||
saveItemStatement.TryBind("@PreferredMetadataLanguage", item.PreferredMetadataLanguage);
|
||||
saveItemStatement.TryBind("@PreferredMetadataCountryCode", item.PreferredMetadataCountryCode);
|
||||
@ -1281,22 +1274,10 @@ namespace Emby.Server.Implementations.Data
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(Year))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(Book))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(Person))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(RecordingGroup))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(Channel))
|
||||
{
|
||||
return false;
|
||||
@ -1330,31 +1311,42 @@ namespace Emby.Server.Implementations.Data
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (_config.Configuration.SkipDeserializationForPrograms)
|
||||
|
||||
if (type == typeof(Year))
|
||||
{
|
||||
if (type == typeof(LiveTvProgram))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(Book))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(RecordingGroup))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(LiveTvProgram))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(LiveTvAudioRecording))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(AudioPodcast))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(AudioBook))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (_config.Configuration.SkipDeserializationForAudio)
|
||||
{
|
||||
if (type == typeof(Audio))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(LiveTvAudioRecording))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(AudioPodcast))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(AudioBook))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (type == typeof(MusicAlbum))
|
||||
{
|
||||
return false;
|
||||
@ -1600,15 +1592,6 @@ namespace Emby.Server.Implementations.Data
|
||||
}
|
||||
index++;
|
||||
|
||||
if (query.HasField(ItemFields.OfficialRatingDescription))
|
||||
{
|
||||
if (!reader.IsDBNull(index))
|
||||
{
|
||||
item.OfficialRatingDescription = reader.GetString(index);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
if (query.HasField(ItemFields.HomePageUrl))
|
||||
{
|
||||
if (!reader.IsDBNull(index))
|
||||
@ -4077,27 +4060,6 @@ namespace Emby.Server.Implementations.Data
|
||||
whereClauses.Add("ProductionYear in (" + val + ")");
|
||||
}
|
||||
|
||||
if (query.LocationTypes.Length == 1)
|
||||
{
|
||||
if (query.LocationTypes[0] == LocationType.Virtual && _config.Configuration.SchemaVersion >= 90)
|
||||
{
|
||||
query.IsVirtualItem = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
whereClauses.Add("LocationType=@LocationType");
|
||||
if (statement != null)
|
||||
{
|
||||
statement.TryBind("@LocationType", query.LocationTypes[0].ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (query.LocationTypes.Length > 1)
|
||||
{
|
||||
var val = string.Join(",", query.LocationTypes.Select(i => "'" + i + "'").ToArray());
|
||||
|
||||
whereClauses.Add("LocationType in (" + val + ")");
|
||||
}
|
||||
if (query.IsVirtualItem.HasValue)
|
||||
{
|
||||
whereClauses.Add("IsVirtualItem=@IsVirtualItem");
|
||||
|
@ -168,7 +168,13 @@ namespace Emby.Server.Implementations.Library
|
||||
IncludeItemsByName = string.IsNullOrWhiteSpace(query.ParentId),
|
||||
ParentId = string.IsNullOrWhiteSpace(query.ParentId) ? (Guid?)null : new Guid(query.ParentId),
|
||||
SortBy = new[] { ItemSortBy.SortName },
|
||||
Recursive = true
|
||||
Recursive = true,
|
||||
|
||||
IsKids = query.IsKids,
|
||||
IsMovie = query.IsMovie,
|
||||
IsNews = query.IsNews,
|
||||
IsSeries = query.IsSeries,
|
||||
IsSports = query.IsSports
|
||||
});
|
||||
|
||||
// Add search hints based on item name
|
||||
|
@ -2155,11 +2155,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||
writer.WriteElementString("mpaa", item.OfficialRating);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(item.OfficialRatingDescription))
|
||||
{
|
||||
writer.WriteElementString("mpaadescription", item.OfficialRatingDescription);
|
||||
}
|
||||
|
||||
var overview = (item.Overview ?? string.Empty)
|
||||
.StripHtml()
|
||||
.Replace(""", "'");
|
||||
|
@ -101,12 +101,6 @@ namespace Emby.Server.Implementations.Security
|
||||
/// <returns></returns>
|
||||
public async Task LoadAllRegistrationInfo()
|
||||
{
|
||||
var response = await _httpClient.GetResponse(new HttpRequestOptions
|
||||
{
|
||||
Url = "http://192.168.1.2:8096/emby/Videos/663c8a38ccfe91af6566852f78e62c26/stream.mkv?Static=true&mediaSourceId=663c8a38ccfe91af6566852f78e62c26&deviceId=hyJA92oXn4RExFTGismCnY6da91kwnTvv8YvsYf0E&Tag=bcdc02b1cdd6f1eb4a57a6812831617b"
|
||||
|
||||
}).ConfigureAwait(false);
|
||||
|
||||
var tasks = new List<Task>();
|
||||
|
||||
ResetSupporterInfo();
|
||||
|
@ -300,11 +300,6 @@ namespace MediaBrowser.Api.Reports
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(request.LocationTypes))
|
||||
{
|
||||
query.LocationTypes = request.LocationTypes.Split(',').Select(d => (LocationType)Enum.Parse(typeof(LocationType), d, true)).ToArray();
|
||||
}
|
||||
|
||||
// Min official rating
|
||||
if (!string.IsNullOrWhiteSpace(request.MinOfficialRating))
|
||||
{
|
||||
|
@ -69,6 +69,21 @@ namespace MediaBrowser.Api
|
||||
|
||||
public string ParentId { get; set; }
|
||||
|
||||
[ApiMember(Name = "IsMovie", Description = "Optional filter for movies.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET,POST")]
|
||||
public bool? IsMovie { get; set; }
|
||||
|
||||
[ApiMember(Name = "IsSeries", Description = "Optional filter for movies.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET,POST")]
|
||||
public bool? IsSeries { get; set; }
|
||||
|
||||
[ApiMember(Name = "IsNews", Description = "Optional filter for news.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET,POST")]
|
||||
public bool? IsNews { get; set; }
|
||||
|
||||
[ApiMember(Name = "IsKids", Description = "Optional filter for kids.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET,POST")]
|
||||
public bool? IsKids { get; set; }
|
||||
|
||||
[ApiMember(Name = "IsSports", Description = "Optional filter for sports.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET,POST")]
|
||||
public bool? IsSports { get; set; }
|
||||
|
||||
public GetSearchHints()
|
||||
{
|
||||
IncludeArtists = true;
|
||||
@ -139,7 +154,13 @@ namespace MediaBrowser.Api
|
||||
StartIndex = request.StartIndex,
|
||||
UserId = request.UserId,
|
||||
IncludeItemTypes = (request.IncludeItemTypes ?? string.Empty).Split(',').Where(i => !string.IsNullOrWhiteSpace(i)).ToArray(),
|
||||
ParentId = request.ParentId
|
||||
ParentId = request.ParentId,
|
||||
|
||||
IsKids = request.IsKids,
|
||||
IsMovie = request.IsMovie,
|
||||
IsNews = request.IsNews,
|
||||
IsSeries = request.IsSeries,
|
||||
IsSports = request.IsSports
|
||||
|
||||
}).ConfigureAwait(false);
|
||||
|
||||
|
@ -95,7 +95,6 @@ namespace MediaBrowser.Api
|
||||
config.EnableStandaloneMusicKeys = true;
|
||||
config.EnableCaseSensitiveItemIds = true;
|
||||
config.SkipDeserializationForBasicTypes = true;
|
||||
config.SkipDeserializationForPrograms = true;
|
||||
config.SkipDeserializationForAudio = true;
|
||||
config.EnableSeriesPresentationUniqueKey = true;
|
||||
config.EnableLocalizedGuids = true;
|
||||
|
@ -328,7 +328,15 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
if (!string.IsNullOrEmpty(request.LocationTypes))
|
||||
{
|
||||
query.LocationTypes = request.LocationTypes.Split(',').Select(d => (LocationType)Enum.Parse(typeof(LocationType), d, true)).ToArray();
|
||||
var requestedLocationTypes =
|
||||
request.LocationTypes.Split(',')
|
||||
.Select(d => (LocationType) Enum.Parse(typeof (LocationType), d, true))
|
||||
.ToList();
|
||||
|
||||
if (requestedLocationTypes.Count > 0 && requestedLocationTypes.Count < 4)
|
||||
{
|
||||
query.IsVirtualItem = requestedLocationTypes.Contains(LocationType.Virtual);
|
||||
}
|
||||
}
|
||||
|
||||
// Min official rating
|
||||
|
@ -84,6 +84,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
|
||||
public long? Size { get; set; }
|
||||
public string Container { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
public string Tagline { get; set; }
|
||||
|
||||
@ -834,13 +835,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
[IgnoreDataMember]
|
||||
public float? CriticRating { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the official rating description.
|
||||
/// </summary>
|
||||
/// <value>The official rating description.</value>
|
||||
[IgnoreDataMember]
|
||||
public string OfficialRatingDescription { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the custom rating.
|
||||
/// </summary>
|
||||
@ -2291,11 +2285,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
ownedItem.CustomRating = item.CustomRating;
|
||||
newOptions.ForceSave = true;
|
||||
}
|
||||
if (!string.Equals(item.OfficialRatingDescription, ownedItem.OfficialRatingDescription, StringComparison.Ordinal))
|
||||
{
|
||||
ownedItem.OfficialRatingDescription = item.OfficialRatingDescription;
|
||||
newOptions.ForceSave = true;
|
||||
}
|
||||
}
|
||||
|
||||
return ownedItem.RefreshMetadata(newOptions, cancellationToken);
|
||||
|
@ -129,7 +129,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
public string[] AncestorIds { get; set; }
|
||||
public string[] TopParentIds { get; set; }
|
||||
|
||||
public LocationType[] LocationTypes { get; set; }
|
||||
public string[] PresetViews { get; set; }
|
||||
public SourceType[] SourceTypes { get; set; }
|
||||
public SourceType[] ExcludeSourceTypes { get; set; }
|
||||
@ -176,7 +175,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
case ItemFields.DateCreated:
|
||||
case ItemFields.SortName:
|
||||
case ItemFields.Overview:
|
||||
case ItemFields.OfficialRatingDescription:
|
||||
case ItemFields.HomePageUrl:
|
||||
case ItemFields.VoteCount:
|
||||
case ItemFields.DisplayMediaType:
|
||||
@ -229,7 +227,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
TopParentIds = new string[] { };
|
||||
ExcludeTags = new string[] { };
|
||||
ExcludeInheritedTags = new string[] { };
|
||||
LocationTypes = new LocationType[] { };
|
||||
PresetViews = new string[] { };
|
||||
SourceTypes = new SourceType[] { };
|
||||
ExcludeSourceTypes = new SourceType[] { };
|
||||
|
@ -365,17 +365,6 @@ namespace MediaBrowser.LocalMetadata.Parsers
|
||||
break;
|
||||
}
|
||||
|
||||
case "MPAADescription":
|
||||
{
|
||||
var rating = reader.ReadElementContentAsString();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(rating))
|
||||
{
|
||||
item.OfficialRatingDescription = rating;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "CustomRating":
|
||||
{
|
||||
var val = reader.ReadElementContentAsString();
|
||||
|
@ -71,8 +71,6 @@ namespace MediaBrowser.LocalMetadata.Savers
|
||||
// Deprecated. No longer saving in this field.
|
||||
"MPAARating",
|
||||
|
||||
"MPAADescription",
|
||||
|
||||
"MusicBrainzArtistId",
|
||||
"MusicBrainzAlbumArtistId",
|
||||
"MusicBrainzAlbumId",
|
||||
@ -308,11 +306,6 @@ namespace MediaBrowser.LocalMetadata.Savers
|
||||
writer.WriteElementString("ContentRating", item.OfficialRating);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(item.OfficialRatingDescription))
|
||||
{
|
||||
writer.WriteElementString("MPAADescription", item.OfficialRatingDescription);
|
||||
}
|
||||
|
||||
writer.WriteElementString("Added", item.DateCreated.ToLocalTime().ToString("G"));
|
||||
|
||||
writer.WriteElementString("LockData", item.IsLocked.ToString().ToLower());
|
||||
|
@ -164,7 +164,6 @@ namespace MediaBrowser.Model.Configuration
|
||||
|
||||
public bool EnableAutomaticRestart { get; set; }
|
||||
public bool SkipDeserializationForBasicTypes { get; set; }
|
||||
public bool SkipDeserializationForPrograms { get; set; }
|
||||
public bool SkipDeserializationForAudio { get; set; }
|
||||
|
||||
public string ServerName { get; set; }
|
||||
|
@ -117,8 +117,6 @@
|
||||
/// </summary>
|
||||
MediaSources,
|
||||
|
||||
OfficialRatingDescription,
|
||||
|
||||
OriginalTitle,
|
||||
|
||||
/// <summary>
|
||||
|
@ -36,6 +36,16 @@ namespace MediaBrowser.Model.Search
|
||||
public string[] IncludeItemTypes { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
|
||||
public bool? IsMovie { get; set; }
|
||||
|
||||
public bool? IsSeries { get; set; }
|
||||
|
||||
public bool? IsNews { get; set; }
|
||||
|
||||
public bool? IsKids { get; set; }
|
||||
|
||||
public bool? IsSports { get; set; }
|
||||
|
||||
public SearchQuery()
|
||||
{
|
||||
IncludeArtists = true;
|
||||
|
@ -91,11 +91,6 @@ namespace MediaBrowser.Providers.Manager
|
||||
}
|
||||
}
|
||||
|
||||
if (replaceData || string.IsNullOrEmpty(target.OfficialRatingDescription))
|
||||
{
|
||||
target.OfficialRatingDescription = source.OfficialRatingDescription;
|
||||
}
|
||||
|
||||
if (replaceData || string.IsNullOrEmpty(target.CustomRating))
|
||||
{
|
||||
target.CustomRating = source.CustomRating;
|
||||
|
@ -356,11 +356,6 @@ namespace MediaBrowser.Providers.MediaInfo
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(data.OfficialRatingDescription) || isFullRefresh)
|
||||
{
|
||||
video.OfficialRatingDescription = data.OfficialRatingDescription;
|
||||
}
|
||||
|
||||
if (!video.IsLocked && !video.LockedFields.Contains(MetadataFields.Genres))
|
||||
{
|
||||
if (video.Genres.Count == 0 || isFullRefresh)
|
||||
|
@ -335,18 +335,6 @@
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\gamegenres.html">
|
||||
<Link>Resources\dashboard-ui\gamegenres.html</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\games.html">
|
||||
<Link>Resources\dashboard-ui\games.html</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\gamesrecommended.html">
|
||||
<Link>Resources\dashboard-ui\gamesrecommended.html</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\gamestudios.html">
|
||||
<Link>Resources\dashboard-ui\gamestudios.html</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\gamesystems.html">
|
||||
<Link>Resources\dashboard-ui\gamesystems.html</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\home.html">
|
||||
<Link>Resources\dashboard-ui\home.html</Link>
|
||||
</BundleResource>
|
||||
@ -950,84 +938,6 @@
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\style.css">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\material-icons\style.css</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\-l14jk06m6puhb-5mxqqnrjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\-l14jk06m6puhb-5mxqqnrjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\0ec6fl06luxeywpbsjvxcbjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\0ec6fl06luxeywpbsjvxcbjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\2tsd397wlxj96qwhynikxpeszw2xoq-xsnqo47m55da.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\2tsd397wlxj96qwhynikxpeszw2xoq-xsnqo47m55da.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\97uahxiqzroncbacei3awxjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\97uahxiqzroncbacei3awxjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\azmswpodyevhtrvuabjwvbtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\azmswpodyevhtrvuabjwvbtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\cwb0xya8bzo0ksthx0utua.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\cwb0xya8bzo0ksthx0utua.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\d-6iyplofoccackzxwxsoftxra8tvwticgirnjhmvjw.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\d-6iyplofoccackzxwxsoftxra8tvwticgirnjhmvjw.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\e7mevayvogmqfwwl61pkhbtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\e7mevayvogmqfwwl61pkhbtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\fcx7wwv8ozt71a3e1xoajveszw2xoq-xsnqo47m55da.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\fcx7wwv8ozt71a3e1xoajveszw2xoq-xsnqo47m55da.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\fl4y0qdoxyythegmxx8kcrjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\fl4y0qdoxyythegmxx8kcrjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\frnv30oaydlfrth2vnzzdhtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\frnv30oaydlfrth2vnzzdhtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\gwvjdern2amz39wrsoz7fxtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\gwvjdern2amz39wrsoz7fxtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\hgo13k-tfspn0qi1sfdufvtxra8tvwticgirnjhmvjw.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\hgo13k-tfspn0qi1sfdufvtxra8tvwticgirnjhmvjw.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\i3s1wsgsg9ycurv6puktorjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\i3s1wsgsg9ycurv6puktorjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\nydwbdd4giq26g5xybhsfbjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\nydwbdd4giq26g5xybhsfbjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\ooefwznlrtefzlymlvv1ubjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\ooefwznlrtefzlymlvv1ubjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\pru33qjshpzsmg3z6vywnrjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\pru33qjshpzsmg3z6vywnrjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotobold.woff">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotobold.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotolight.woff">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotolight.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotomedium.woff">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotomedium.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotoregular.woff">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotoregular.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotothin.woff">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\robotothin.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\rxzjdnzeo3r5zsexge8uuvtxra8tvwticgirnjhmvjw.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\rxzjdnzeo3r5zsexge8uuvtxra8tvwticgirnjhmvjw.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\style.css">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\style.css</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\ty9dfvlaziwdqq2dhoyjphtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\ty9dfvlaziwdqq2dhoyjphtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\vvxugkzxbhtx_s_vctlpghtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fonts\roboto\vvxugkzxbhtx_s_vctlpghtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\fullscreen\fullscreen-doubleclick.js">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\fullscreen\fullscreen-doubleclick.js</Link>
|
||||
</BundleResource>
|
||||
@ -1058,9 +968,6 @@
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\headroom\headroom.js">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\headroom\headroom.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\homescreensettings\homescreensettings.css">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\homescreensettings\homescreensettings.css</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\homescreensettings\homescreensettings.js">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\homescreensettings\homescreensettings.js</Link>
|
||||
</BundleResource>
|
||||
@ -1328,6 +1235,21 @@
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\scroller\smoothscroller.js">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\scroller\smoothscroller.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\search\searchfields.css">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\search\searchfields.css</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\search\searchfields.js">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\search\searchfields.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\search\searchfields.template.html">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\search\searchfields.template.html</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\search\searchresults.js">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\search\searchresults.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\search\searchresults.template.html">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\search\searchresults.template.html</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\bower_components\emby-webcomponents\serviceworker\notifications.js">
|
||||
<Link>Resources\dashboard-ui\bower_components\emby-webcomponents\serviceworker\notifications.js</Link>
|
||||
</BundleResource>
|
||||
@ -2159,6 +2081,84 @@
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\files\dummy.mp4">
|
||||
<Link>Resources\dashboard-ui\files\dummy.mp4</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\-l14jk06m6puhb-5mxqqnrjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\-l14jk06m6puhb-5mxqqnrjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\0ec6fl06luxeywpbsjvxcbjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\0ec6fl06luxeywpbsjvxcbjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\2tsd397wlxj96qwhynikxpeszw2xoq-xsnqo47m55da.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\2tsd397wlxj96qwhynikxpeszw2xoq-xsnqo47m55da.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\97uahxiqzroncbacei3awxjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\97uahxiqzroncbacei3awxjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\azmswpodyevhtrvuabjwvbtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\azmswpodyevhtrvuabjwvbtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\cwb0xya8bzo0ksthx0utua.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\cwb0xya8bzo0ksthx0utua.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\d-6iyplofoccackzxwxsoftxra8tvwticgirnjhmvjw.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\d-6iyplofoccackzxwxsoftxra8tvwticgirnjhmvjw.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\e7mevayvogmqfwwl61pkhbtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\e7mevayvogmqfwwl61pkhbtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\fcx7wwv8ozt71a3e1xoajveszw2xoq-xsnqo47m55da.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\fcx7wwv8ozt71a3e1xoajveszw2xoq-xsnqo47m55da.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\fl4y0qdoxyythegmxx8kcrjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\fl4y0qdoxyythegmxx8kcrjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\frnv30oaydlfrth2vnzzdhtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\frnv30oaydlfrth2vnzzdhtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\gwvjdern2amz39wrsoz7fxtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\gwvjdern2amz39wrsoz7fxtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\hgo13k-tfspn0qi1sfdufvtxra8tvwticgirnjhmvjw.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\hgo13k-tfspn0qi1sfdufvtxra8tvwticgirnjhmvjw.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\i3s1wsgsg9ycurv6puktorjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\i3s1wsgsg9ycurv6puktorjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\nydwbdd4giq26g5xybhsfbjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\nydwbdd4giq26g5xybhsfbjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\ooefwznlrtefzlymlvv1ubjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\ooefwznlrtefzlymlvv1ubjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\pru33qjshpzsmg3z6vywnrjtnkitppoi_ivcxxdnrsc.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\pru33qjshpzsmg3z6vywnrjtnkitppoi_ivcxxdnrsc.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\robotobold.woff">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\robotobold.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\robotolight.woff">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\robotolight.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\robotomedium.woff">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\robotomedium.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\robotoregular.woff">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\robotoregular.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\robotothin.woff">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\robotothin.woff</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\rxzjdnzeo3r5zsexge8uuvtxra8tvwticgirnjhmvjw.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\rxzjdnzeo3r5zsexge8uuvtxra8tvwticgirnjhmvjw.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\style.css">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\style.css</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\ty9dfvlaziwdqq2dhoyjphtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\ty9dfvlaziwdqq2dhoyjphtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\fonts\roboto\vvxugkzxbhtx_s_vctlpghtbgvql8ndjpwnre27mub0.woff2">
|
||||
<Link>Resources\dashboard-ui\fonts\roboto\vvxugkzxbhtx_s_vctlpghtbgvql8ndjpwnre27mub0.woff2</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\legacy\buttonenabled.js">
|
||||
<Link>Resources\dashboard-ui\legacy\buttonenabled.js</Link>
|
||||
</BundleResource>
|
||||
@ -2228,36 +2228,15 @@
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\encodingsettings.js">
|
||||
<Link>Resources\dashboard-ui\scripts\encodingsettings.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\episodes.js">
|
||||
<Link>Resources\dashboard-ui\scripts\episodes.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\forgotpassword.js">
|
||||
<Link>Resources\dashboard-ui\scripts\forgotpassword.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\forgotpasswordpin.js">
|
||||
<Link>Resources\dashboard-ui\scripts\forgotpasswordpin.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\gamegenrepage.js">
|
||||
<Link>Resources\dashboard-ui\scripts\gamegenrepage.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\gamespage.js">
|
||||
<Link>Resources\dashboard-ui\scripts\gamespage.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\gamesrecommendedpage.js">
|
||||
<Link>Resources\dashboard-ui\scripts\gamesrecommendedpage.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\gamestudiospage.js">
|
||||
<Link>Resources\dashboard-ui\scripts\gamestudiospage.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\gamesystemspage.js">
|
||||
<Link>Resources\dashboard-ui\scripts\gamesystemspage.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\homefavorites.js">
|
||||
<Link>Resources\dashboard-ui\scripts\homefavorites.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\homeupcoming.js">
|
||||
<Link>Resources\dashboard-ui\scripts\homeupcoming.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\indexpage.js">
|
||||
<Link>Resources\dashboard-ui\scripts\indexpage.js</Link>
|
||||
</BundleResource>
|
||||
@ -2429,6 +2408,9 @@
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\searchpage.js">
|
||||
<Link>Resources\dashboard-ui\scripts\searchpage.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\searchtab.js">
|
||||
<Link>Resources\dashboard-ui\scripts\searchtab.js</Link>
|
||||
</BundleResource>
|
||||
<BundleResource Include="..\MediaBrowser.WebDashboard\dashboard-ui\scripts\secondaryitems.js">
|
||||
<Link>Resources\dashboard-ui\scripts\secondaryitems.js</Link>
|
||||
</BundleResource>
|
||||
|
@ -138,9 +138,9 @@ namespace MediaBrowser.Server.Mac
|
||||
Task.Run (() => StartServer(CancellationToken.None));
|
||||
}
|
||||
|
||||
private static void GenerateCertificate(string certPath, string certHost)
|
||||
private static void GenerateCertificate(string certPath, string certHost, string certPassword)
|
||||
{
|
||||
CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, _logger);
|
||||
CertificateGenerator.CreateSelfSignCertificatePfx(certPath, certHost, certPassword, _logger);
|
||||
}
|
||||
|
||||
private static EnvironmentInfo GetEnvironmentInfo()
|
||||
|
@ -37,8 +37,8 @@
|
||||
<Reference Include="Emby.Server.Core">
|
||||
<HintPath>..\ThirdParty\emby\Emby.Server.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.1.2.1\lib\net45\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
|
||||
<Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=1.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.1.2.2\lib\net45\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.IO.RecyclableMemoryStream" version="1.2.1" targetFramework="net46" />
|
||||
<package id="Microsoft.IO.RecyclableMemoryStream" version="1.2.2" targetFramework="net46" />
|
||||
</packages>
|
@ -452,17 +452,6 @@ namespace MediaBrowser.XbmcMetadata.Parsers
|
||||
break;
|
||||
}
|
||||
|
||||
case "mpaadescription":
|
||||
{
|
||||
var rating = reader.ReadElementContentAsString();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(rating))
|
||||
{
|
||||
item.OfficialRatingDescription = rating;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "customrating":
|
||||
{
|
||||
var val = reader.ReadElementContentAsString();
|
||||
|
@ -19,7 +19,6 @@ using System.Text;
|
||||
using System.Threading;
|
||||
using System.Xml;
|
||||
using MediaBrowser.Common.IO;
|
||||
using MediaBrowser.Controller.IO;
|
||||
using MediaBrowser.Model.Extensions;
|
||||
using MediaBrowser.Model.IO;
|
||||
using MediaBrowser.Model.Xml;
|
||||
@ -42,7 +41,6 @@ namespace MediaBrowser.XbmcMetadata.Savers
|
||||
"year",
|
||||
"sorttitle",
|
||||
"mpaa",
|
||||
"mpaadescription",
|
||||
"aspectratio",
|
||||
"website",
|
||||
"collectionnumber",
|
||||
@ -556,11 +554,6 @@ namespace MediaBrowser.XbmcMetadata.Savers
|
||||
writer.WriteElementString("mpaa", item.OfficialRating);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(item.OfficialRatingDescription))
|
||||
{
|
||||
writer.WriteElementString("mpaadescription", item.OfficialRatingDescription);
|
||||
}
|
||||
|
||||
var hasAspectRatio = item as IHasAspectRatio;
|
||||
if (hasAspectRatio != null)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user