mirror of
https://github.com/Lidarr/Lidarr
synced 2026-01-03 22:23:01 +01:00
Update SkyHookProxy.cs
This commit is contained in:
parent
3d3de5ce13
commit
c9a76454bf
1 changed files with 15 additions and 6 deletions
|
|
@ -194,9 +194,10 @@ public List<Artist> SearchForNewArtist(string title)
|
|||
{
|
||||
var lowerTitle = title.ToLowerInvariant();
|
||||
|
||||
if (IsMbidQuery(lowerTitle))
|
||||
if (IsMbidQuery(lowerTitle) || IsMbidUrl(lowerTitle))
|
||||
{
|
||||
var slug = ExtractGuidFromQuery(lowerTitle);
|
||||
|
||||
var isValid = Guid.TryParse(slug, out var searchGuid);
|
||||
|
||||
if (slug.IsNullOrWhiteSpace() || slug.Any(char.IsWhiteSpace) || isValid == false)
|
||||
|
|
@ -255,9 +256,10 @@ public List<Album> SearchForNewAlbum(string title, string artist)
|
|||
{
|
||||
var lowerTitle = title.ToLowerInvariant();
|
||||
|
||||
if (IsMbidQuery(lowerTitle))
|
||||
if (IsMbidQuery(lowerTitle) || IsMbidUrl(lowerTitle))
|
||||
{
|
||||
var slug = ExtractGuidFromQuery(lowerTitle);
|
||||
|
||||
var isValid = Guid.TryParse(slug, out var searchGuid);
|
||||
|
||||
if (slug.IsNullOrWhiteSpace() || slug.Any(char.IsWhiteSpace) || isValid == false)
|
||||
|
|
@ -362,7 +364,7 @@ public List<object> SearchForNewEntity(string title)
|
|||
{
|
||||
var lowerTitle = title.ToLowerInvariant();
|
||||
|
||||
if (IsMbidQuery(lowerTitle))
|
||||
if (IsMbidQuery(lowerTitle) || IsMbidUrl(lowerTitle))
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -430,19 +432,24 @@ public List<object> SearchForNewEntity(string title)
|
|||
|
||||
private static bool IsMbidQuery(string query)
|
||||
{
|
||||
return query.StartsWith("lidarr:") || query.StartsWith("lidarrid:") || query.StartsWith("mbid:") ||
|
||||
query.StartsWith("http://") || query.StartsWith("https://");
|
||||
return query.StartsWith("lidarr:") || query.StartsWith("lidarrid:") || query.StartsWith("mbid:");
|
||||
}
|
||||
|
||||
private static bool IsMbidUrl(string query)
|
||||
{
|
||||
return query.StartsWith("https://musicbrainz.org/") || query.StartsWith("http://musicbrainz.org/");
|
||||
}
|
||||
|
||||
private static string ExtractGuidFromQuery(string query)
|
||||
{
|
||||
if (query.StartsWith("http://") || query.StartsWith("https://"))
|
||||
if (query.StartsWith("https://musicbrainz.org/") || query.StartsWith("http://musicbrainz.org/"))
|
||||
{
|
||||
var lastSlash = query.LastIndexOf('/');
|
||||
if (lastSlash >= 0 && lastSlash < query.Length - 1)
|
||||
{
|
||||
return query.Substring(lastSlash + 1).Trim();
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
else if (query.StartsWith("lidarr:") || query.StartsWith("lidarrid:") || query.StartsWith("mbid:"))
|
||||
|
|
@ -452,8 +459,10 @@ private static string ExtractGuidFromQuery(string query)
|
|||
{
|
||||
return parts[1].Trim();
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue