diff options
4 files changed, 34 insertions, 13 deletions
diff --git a/Emby.Server.Implementations/Localization/Core/hy.json b/Emby.Server.Implementations/Localization/Core/hy.json index 80be71ed70..09f1bfe79c 100644 --- a/Emby.Server.Implementations/Localization/Core/hy.json +++ b/Emby.Server.Implementations/Localization/Core/hy.json @@ -29,5 +29,15 @@ "Default": "Լռելյայն", "Favorites": "Ընտրյալ", "Forced": "Ստիպուած", - "Genres": "Ոճ" + "Genres": "Ոճ", + "HeaderFavoriteEpisodes": "Սիրելի դրվագներ", + "HeaderFavoriteShows": "Սիրելի հաղորդումներ", + "HeaderLiveTV": "Ուղիղ եթեր", + "HeaderNextUp": "Հաջորդը", + "HomeVideos": "Տնային տեսանյութեր", + "LabelRunningTimeValue": "Տևողությունը: {0}", + "Latest": "Վերջինը", + "LyricDownloadFailureFromForItem": "Չհաջողվեց ներբեռնել {1}-ի երգի բառերը {0}-ից", + "MixedContent": "Խառը բովանդակություն", + "CleanupUserDataTaskDescription": "Մաքրում է օգտատիրոջ բոլոր տվյալները (դիտման կարգավիճակ, «սիրելի» նշում և այլն) այն մեդիաֆայլերից, որոնք առնվազն 90 օր է՝ առկա չեն։" } diff --git a/MediaBrowser.Model/Querying/QueryFiltersLegacy.cs b/MediaBrowser.Model/Querying/QueryFiltersLegacy.cs index fcb450ed30..8aa234a1c3 100644 --- a/MediaBrowser.Model/Querying/QueryFiltersLegacy.cs +++ b/MediaBrowser.Model/Querying/QueryFiltersLegacy.cs @@ -1,7 +1,7 @@ #nullable disable #pragma warning disable CS1591 -using System; +using System.Collections.Generic; namespace MediaBrowser.Model.Querying { @@ -9,18 +9,18 @@ namespace MediaBrowser.Model.Querying { public QueryFiltersLegacy() { - Genres = Array.Empty<string>(); - Tags = Array.Empty<string>(); - OfficialRatings = Array.Empty<string>(); - Years = Array.Empty<int>(); + Genres = []; + Tags = []; + OfficialRatings = []; + Years = []; } - public string[] Genres { get; set; } + public IReadOnlyList<string> Genres { get; set; } - public string[] Tags { get; set; } + public IReadOnlyList<string> Tags { get; set; } - public string[] OfficialRatings { get; set; } + public IReadOnlyList<string> OfficialRatings { get; set; } - public int[] Years { get; set; } + public IReadOnlyList<int> Years { get; set; } } } diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 8387f24bc9..855765441b 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -599,7 +599,7 @@ namespace MediaBrowser.Providers.Manager // An extra is a local file belonging to another item and has no identity of its own in an // online database. Looking it up matches whatever the surrounding folder happens to be // called and overwrites the extra's name with a different item's title. - if (item.ExtraType.HasValue) + if (item.ExtraType.HasValue && provider is IRemoteMetadataProvider) { return false; } diff --git a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/SqliteDatabaseProvider.cs b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/SqliteDatabaseProvider.cs index a3fbe42e02..f0b44d6130 100644 --- a/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/SqliteDatabaseProvider.cs +++ b/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/SqliteDatabaseProvider.cs @@ -287,7 +287,7 @@ public sealed class SqliteDatabaseProvider : IJellyfinDatabaseProvider /// <inheritdoc /> public async Task<string> MigrationBackupFast(CancellationToken cancellationToken) { - var path = Path.Combine(_applicationPaths.DataPath, "jellyfin.db"); + var path = GetDatabasePath(); var backupFolder = Path.Combine(_applicationPaths.DataPath, BackupFolderName); Directory.CreateDirectory(backupFolder); @@ -317,7 +317,7 @@ public sealed class SqliteDatabaseProvider : IJellyfinDatabaseProvider { // ensure there are absolutely no dangling Sqlite connections. SqliteConnection.ClearAllPools(); - var path = Path.Combine(_applicationPaths.DataPath, "jellyfin.db"); + var path = GetDatabasePath(); var backupFile = Path.Combine(_applicationPaths.DataPath, BackupFolderName, $"{key}_jellyfin.db"); if (!File.Exists(backupFile)) @@ -390,6 +390,17 @@ public sealed class SqliteDatabaseProvider : IJellyfinDatabaseProvider return Task.CompletedTask; } + private string GetDatabasePath() + { + if (DbContextFactory is null) + { + throw new InvalidOperationException("The database provider has not been initialized."); + } + + using var dbContext = DbContextFactory.CreateDbContext(); + return dbContext.Database.GetDbConnection().DataSource; + } + /// <inheritdoc/> public async Task PurgeDatabase(JellyfinDbContext dbContext, IEnumerable<string>? tableNames) { |
