mirror of
https://github.com/sphildreth/roadie
synced 2025-02-17 21:48:27 +00:00
Inspector work.
This commit is contained in:
parent
2eef293f1d
commit
0732533bf7
4 changed files with 29 additions and 8 deletions
Roadie.Api.Library
Roadie.Api
|
@ -10,6 +10,7 @@ using Roadie.Library.Extensions;
|
|||
using Roadie.Library.Factories;
|
||||
using Roadie.Library.Imaging;
|
||||
using Roadie.Library.MetaData.Audio;
|
||||
using Roadie.Library.MetaData.ID3Tags;
|
||||
using Roadie.Library.SearchEngines.Imaging;
|
||||
using Roadie.Library.SearchEngines.MetaData;
|
||||
using Roadie.Library.Utility;
|
||||
|
@ -219,11 +220,17 @@ namespace Roadie.Library.Engines
|
|||
{
|
||||
foreach (var releaseGenreTable in releaseGenreTables)
|
||||
{
|
||||
var genreName = releaseGenreTable.Genre.Name.ToLower().Trim();
|
||||
var genreName = releaseGenreTable.Genre?.Name?.ToLower().Trim();
|
||||
if (string.IsNullOrEmpty(genreName))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (genreName.Length > 100)
|
||||
{
|
||||
var originalName = genreName;
|
||||
genreName = genreName.Substring(0, 99);
|
||||
this.Logger.LogWarning($"Genre Name Too long was [{ originalName }] truncated to [{ genreName }]");
|
||||
}
|
||||
var genre = this.DbContext.Genres.FirstOrDefault(x => x.Name.ToLower().Trim() == genreName);
|
||||
if (genre == null)
|
||||
{
|
||||
|
@ -731,10 +738,13 @@ namespace Roadie.Library.Engines
|
|||
var rg = releaseGenre.Trim();
|
||||
if (!string.IsNullOrEmpty(rg))
|
||||
{
|
||||
result.Genres.Add(new Data.ReleaseGenre
|
||||
foreach (var g in ID3TagsHelper.SplitGenre(rg))
|
||||
{
|
||||
Genre = (this.DbContext.Genres.Where(x => x.Name.ToLower() == rg.ToLower()).FirstOrDefault() ?? new Data.Genre { Name = rg })
|
||||
});
|
||||
result.Genres.Add(new Data.ReleaseGenre
|
||||
{
|
||||
Genre = (this.DbContext.Genres.Where(x => x.Name.ToLower() == g.ToLower()).FirstOrDefault() ?? new Data.Genre { Name = g })
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<PackageReference Include="EFCore.BulkExtensions" Version="2.4.7" />
|
||||
<PackageReference Include="FluentFTP" Version="24.0.0" />
|
||||
<PackageReference Include="Hashids.net" Version="1.2.2" />
|
||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.6" />
|
||||
<PackageReference Include="HtmlAgilityPack" Version="1.11.7" />
|
||||
<PackageReference Include="IdSharp.Common" Version="1.0.1" />
|
||||
<PackageReference Include="IdSharp.Tagging" Version="1.0.0-rc3" />
|
||||
<PackageReference Include="Inflatable.Lastfm" Version="1.1.0.339" />
|
||||
|
|
|
@ -362,7 +362,7 @@ namespace Roadie.Library.MetaData.ID3Tags
|
|||
result.Release = theTrack.Album;
|
||||
result.Artist = theTrack.AlbumArtist ?? theTrack.Artist;
|
||||
result.ArtistRaw = theTrack.AlbumArtist ?? theTrack.Artist;
|
||||
result.Genres = theTrack.Genre?.Split(new char[] { ',', '\\' });
|
||||
result.Genres = ID3TagsHelper.SplitGenre(theTrack.Genre);
|
||||
result.TrackArtist = theTrack.OriginalArtist ?? theTrack.Artist ?? theTrack.AlbumArtist;
|
||||
result.TrackArtistRaw = theTrack.OriginalArtist ?? theTrack.Artist ?? theTrack.AlbumArtist;
|
||||
result.AudioBitrate = (int?)theTrack.Bitrate;
|
||||
|
@ -398,6 +398,17 @@ namespace Roadie.Library.MetaData.ID3Tags
|
|||
};
|
||||
}
|
||||
|
||||
public static ICollection<string> SplitGenre(string genre)
|
||||
{
|
||||
if(string.IsNullOrEmpty(genre))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
genre = genre.Replace(" / ", "/").Replace(" \\ ", "/").Replace("\\", "/");
|
||||
return genre?.Split(new char[] { ',', ';', '|', '/' });
|
||||
}
|
||||
|
||||
|
||||
private OperationResult<AudioMetaData> MetaDataForFileFromIdSharp(string fileName)
|
||||
{
|
||||
var sw = new Stopwatch();
|
||||
|
@ -420,7 +431,7 @@ namespace Roadie.Library.MetaData.ID3Tags
|
|||
result.Comments = id3v2.CommentsList != null ? string.Join("|", id3v2.CommentsList?.Select(x => x.Value)) : null;
|
||||
result.Disk = ID3TagsHelper.ParseDiscNumber(id3v2.DiscNumber);
|
||||
result.DiskSubTitle = id3v2.SetSubtitle;
|
||||
result.Genres = id3v2.Genre?.Split(new char[] { ',', '\\', ';', '|' });
|
||||
result.Genres = ID3TagsHelper.SplitGenre(id3v2.Genre);
|
||||
result.Release = id3v2.Album;
|
||||
result.TrackArtist = id3v2.OriginalArtist ?? id3v2.Artist ?? id3v2.AlbumArtist;
|
||||
result.TrackArtistRaw = id3v2.OriginalArtist ?? id3v2.Artist ?? id3v2.AlbumArtist;
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.2.3" />
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="2.1.1" />
|
||||
<PackageReference Include="Serilog.Exceptions" Version="5.0.0" />
|
||||
<PackageReference Include="Serilog.Settings.Configuration" Version="3.0.1" />
|
||||
<PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" />
|
||||
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
|
||||
<PackageReference Include="Serilog.Sinks.RollingFileAlternate" Version="2.0.9" />
|
||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="5.4.0" />
|
||||
|
|
Loading…
Add table
Reference in a new issue