Browse Source

fix file not found music videos (#1502)

* fix indexing music videos in file not found state

* update dependencies
pull/1504/head
Jason Dove 2 years ago committed by GitHub
parent
commit
948b3735bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      CHANGELOG.md
  2. 2
      ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj
  3. 2
      ErsatzTV.Core/ErsatzTV.Core.csproj
  4. 2
      ErsatzTV.Infrastructure.Sqlite/ErsatzTV.Infrastructure.Sqlite.csproj
  5. 4
      ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj
  6. 2
      ErsatzTV.Infrastructure/Search/ElasticSearchIndex.cs
  7. 18
      ErsatzTV.Infrastructure/Search/LuceneSearchIndex.cs
  8. 2
      ErsatzTV.Scanner/ErsatzTV.Scanner.csproj
  9. 2
      ErsatzTV/ErsatzTV.csproj

1
CHANGELOG.md

@ -35,6 +35,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Fix displaying multiple languages in UI for movies, artists, shows - Fix displaying multiple languages in UI for movies, artists, shows
- Fix MySQL queries that could fail during media server library scans - Fix MySQL queries that could fail during media server library scans
- Fix scanning Jellyfin libraries when library options and/or path infos are not returned from Jellyfin API - Fix scanning Jellyfin libraries when library options and/or path infos are not returned from Jellyfin API
- Fix error indexing music videos in `File Not Found` state
### Changed ### Changed
- Upgrade ffmpeg to 6.1, which is now *required* for all installs - Upgrade ffmpeg to 6.1, which is now *required* for all installs

2
ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj

@ -24,7 +24,7 @@
<PackageReference Include="NSubstitute" Version="5.1.0" /> <PackageReference Include="NSubstitute" Version="5.1.0" />
<PackageReference Include="NUnit" Version="3.14.0" /> <PackageReference Include="NUnit" Version="3.14.0" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" /> <PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageReference Include="Serilog" Version="3.1.0" /> <PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.Extensions.Logging" Version="7.0.0" /> <PackageReference Include="Serilog.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Serilog.Sinks.Debug" Version="2.0.0" /> <PackageReference Include="Serilog.Sinks.Debug" Version="2.0.0" />
</ItemGroup> </ItemGroup>

2
ErsatzTV.Core/ErsatzTV.Core.csproj

@ -25,7 +25,7 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Serilog" Version="3.1.0" /> <PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.0" /> <PackageReference Include="Serilog.Sinks.Console" Version="5.0.0" />
</ItemGroup> </ItemGroup>

2
ErsatzTV.Infrastructure.Sqlite/ErsatzTV.Infrastructure.Sqlite.csproj

@ -14,7 +14,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapper" Version="2.1.15" /> <PackageReference Include="Dapper" Version="2.1.21" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.13" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="7.0.13" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.13" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.13" />
</ItemGroup> </ItemGroup>

4
ErsatzTV.Infrastructure/ErsatzTV.Infrastructure.csproj

@ -12,9 +12,9 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Blurhash.ImageSharp" Version="3.0.0" /> <PackageReference Include="Blurhash.ImageSharp" Version="3.0.0" />
<PackageReference Include="CliWrap" Version="3.6.4" /> <PackageReference Include="CliWrap" Version="3.6.4" />
<PackageReference Include="Dapper" Version="2.1.15" /> <PackageReference Include="Dapper" Version="2.1.21" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.10.0" /> <PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.10.0" />
<PackageReference Include="Jint" Version="3.0.0-beta-2054" /> <PackageReference Include="Jint" Version="3.0.0-beta-2055" />
<PackageReference Include="Lucene.Net" Version="4.8.0-beta00016" /> <PackageReference Include="Lucene.Net" Version="4.8.0-beta00016" />
<PackageReference Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00016" /> <PackageReference Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00016" />
<PackageReference Include="Lucene.Net.QueryParser" Version="4.8.0-beta00016" /> <PackageReference Include="Lucene.Net.QueryParser" Version="4.8.0-beta00016" />

2
ErsatzTV.Infrastructure/Search/ElasticSearchIndex.cs

@ -480,7 +480,7 @@ public class ElasticSearchIndex : ISearchIndex
Id = musicVideo.Id, Id = musicVideo.Id,
Type = LuceneSearchIndex.MusicVideoType, Type = LuceneSearchIndex.MusicVideoType,
Title = metadata.Title, Title = metadata.Title,
SortTitle = metadata.SortTitle.ToLowerInvariant(), SortTitle = (metadata.SortTitle ?? string.Empty).ToLowerInvariant(),
LibraryName = musicVideo.LibraryPath.Library.Name, LibraryName = musicVideo.LibraryPath.Library.Name,
LibraryId = musicVideo.LibraryPath.Library.Id, LibraryId = musicVideo.LibraryPath.Library.Id,
TitleAndYear = LuceneSearchIndex.GetTitleAndYear(metadata), TitleAndYear = LuceneSearchIndex.GetTitleAndYear(metadata),

18
ErsatzTV.Infrastructure/Search/LuceneSearchIndex.cs

@ -808,8 +808,8 @@ public sealed class LuceneSearchIndex : ISearchIndex
{ {
new StringField(IdField, musicVideo.Id.ToString(CultureInfo.InvariantCulture), Field.Store.YES), new StringField(IdField, musicVideo.Id.ToString(CultureInfo.InvariantCulture), Field.Store.YES),
new StringField(TypeField, MusicVideoType, Field.Store.YES), new StringField(TypeField, MusicVideoType, Field.Store.YES),
new TextField(TitleField, metadata.Title, Field.Store.NO), new TextField(TitleField, metadata.Title ?? string.Empty, Field.Store.NO),
new StringField(SortTitleField, metadata.SortTitle.ToLowerInvariant(), Field.Store.NO), new StringField(SortTitleField, (metadata.SortTitle ?? string.Empty).ToLowerInvariant(), Field.Store.NO),
new TextField(LibraryNameField, musicVideo.LibraryPath.Library.Name, Field.Store.NO), new TextField(LibraryNameField, musicVideo.LibraryPath.Library.Name, Field.Store.NO),
new StringField( new StringField(
LibraryIdField, LibraryIdField,
@ -1317,12 +1317,16 @@ public sealed class LuceneSearchIndex : ISearchIndex
internal static string GetJumpLetter(Metadata metadata) internal static string GetJumpLetter(Metadata metadata)
{ {
char c = (metadata.SortTitle ?? " ").ToLowerInvariant().Head(); foreach (char c in (metadata.SortTitle ?? " ").ToLowerInvariant().HeadOrNone())
return c switch
{ {
(>= 'a' and <= 'z') => c.ToString(), return c switch
_ => "#" {
}; >= 'a' and <= 'z' => c.ToString(),
_ => "#"
};
}
return "#";
} }
private static string OtherVideoTitle(OtherVideoMetadata ovm) => private static string OtherVideoTitle(OtherVideoMetadata ovm) =>

2
ErsatzTV.Scanner/ErsatzTV.Scanner.csproj

@ -27,7 +27,7 @@
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" /> <PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageReference Include="Serilog" Version="3.1.0" /> <PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.AspNetCore" Version="7.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="7.0.0" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="7.0.0" /> <PackageReference Include="Serilog.Extensions.Hosting" Version="7.0.0" />
<PackageReference Include="Serilog.Formatting.Compact" Version="2.0.0" /> <PackageReference Include="Serilog.Formatting.Compact" Version="2.0.0" />

2
ErsatzTV/ErsatzTV.csproj

@ -78,7 +78,7 @@
<PackageReference Include="MudBlazor" Version="6.11.0" /> <PackageReference Include="MudBlazor" Version="6.11.0" />
<PackageReference Include="NaturalSort.Extension" Version="4.1.0" /> <PackageReference Include="NaturalSort.Extension" Version="4.1.0" />
<PackageReference Include="Refit.HttpClientFactory" Version="7.0.0" /> <PackageReference Include="Refit.HttpClientFactory" Version="7.0.0" />
<PackageReference Include="Serilog" Version="3.1.0" /> <PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.AspNetCore" Version="7.0.0" /> <PackageReference Include="Serilog.AspNetCore" Version="7.0.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="7.0.1" /> <PackageReference Include="Serilog.Settings.Configuration" Version="7.0.1" />
<PackageReference Include="System.IO.FileSystem.Primitives" Version="4.3.0" /> <PackageReference Include="System.IO.FileSystem.Primitives" Version="4.3.0" />

Loading…
Cancel
Save