This commit is contained in:
Gabriel 2026-05-02 20:00:34 +01:00 committed by GitHub
commit 81be5a790a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 3 deletions

View file

@ -30,7 +30,7 @@ public class CardigannBase
protected readonly IndexerCapabilitiesCategories _categories = new();
protected readonly List<string> _defaultCategories = new();
protected readonly string[] OptionalFields = new string[] { "imdb", "imdbid", "tmdbid", "rageid", "tvdbid", "tvmazeid", "traktid", "doubanid", "poster", "banner", "description", "genre" };
protected readonly string[] OptionalFields = new string[] { "imdb", "imdbid", "tmdbid", "rageid", "tvdbid", "tvmazeid", "traktid", "doubanid", "poster", "banner", "description", "genre", "languages", "subs" };
protected static readonly string[] _SupportedLogicFunctions =
{

View file

@ -657,13 +657,27 @@ private string ParseFields(string value, string fieldName, TorrentInfo release,
break;
case "genre":
release.Genres ??= new List<string>();
char[] delimiters = { ',', ' ', '/', ')', '(', '.', ';', '[', ']', '"', '|', ':' };
char[] delimitersG = { ',', ' ', '/', ')', '(', '.', ';', '[', ']', '"', '|', ':' };
release.Genres = release.Genres
.Union(value.Split(delimiters, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries))
.Union(value.Split(delimitersG, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries))
.Select(x => x.Replace("_", " "))
.ToList();
value = string.Join(", ", release.Genres);
break;
case "languages":
release.Languages ??= new List<string>();
char[] delimitersL = { ',' };
var releaseLanguages = release.Languages.Union(value.Split(delimitersL, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
release.Languages = releaseLanguages.Select(x => x.Replace("_", " ")).ToList();
value = string.Join(",", release.Languages);
break;
case "subs":
release.Subs ??= new List<string>();
char[] delimitersS = { ',' };
var releaseSubs = release.Subs.Union(value.Split(delimitersS, StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries));
release.Subs = releaseSubs.Select(x => x.Replace("_", " ")).ToList();
value = string.Join(",", release.Subs);
break;
case "year":
release.Year = ParseUtil.CoerceInt(value);
value = release.Year.ToString();