Fixed: Convert Trakt list name to URL slug

This commit is contained in:
Stevie Robinson 2021-12-20 21:26:51 +01:00 committed by GitHub
parent 245a033ab3
commit d80565f6a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 3 deletions

View File

@ -165,5 +165,28 @@ namespace NzbDrone.Common.Extensions
{
return source.Contains(value, StringComparer.InvariantCultureIgnoreCase);
}
public static string ToUrlSlug(this string value)
{
//First to lower case
value = value.ToLowerInvariant();
//Remove all accents
value = value.RemoveAccent();
//Replace spaces
value = Regex.Replace(value, @"\s", "-", RegexOptions.Compiled);
//Remove invalid chars
value = Regex.Replace(value, @"[^a-z0-9\s-_]", "", RegexOptions.Compiled);
//Trim dashes from end
value = value.Trim('-', '_');
//Replace double occurences of - or _
value = Regex.Replace(value, @"([-_]){2,}", "$1", RegexOptions.Compiled);
return value;
}
}
}

View File

@ -26,9 +26,7 @@ namespace NzbDrone.Core.ImportLists.Trakt.List
{
var link = Settings.BaseUrl.Trim();
var listName = Settings.Listname.Trim();
link += $"/users/{Settings.Username.Trim()}/lists/{listName}/items/shows?limit={Settings.Limit}";
link += $"/users/{Settings.Username.Trim()}/lists/{Settings.Listname.ToUrlSlug()}/items/shows?limit={Settings.Limit}";
var request = new ImportListRequest($"{link}", HttpAccept.Json);