Fixing SupportsCategories (or at least making it better)

I cannot wrap my head around why it has started to fail now as it was
faulty from the beginning... Anyway, SupportsCategories didn't really
take sub categories into account, which is bad.

- Potentially fixes #1654 and #1656
This commit is contained in:
chibidev
2017-08-14 10:38:51 +02:00
parent 07a0c2c828
commit c2f11306b1

View File

@@ -66,15 +66,18 @@ namespace Jackett.Models
}
}
public bool SupportsCategories (int[] categories)
public bool SupportsCategories(int[] categories)
{
return Categories.Count(i => categories.Any(c => c == i.ID)) > 0;
var subCategories = Categories.SelectMany(c => c.SubCategories);
var allCategories = Categories.Concat(subCategories);
var supportsCategory = allCategories.Any(i => categories.Any(c => c == i.ID));
return supportsCategory;
}
public JArray CapsToJson()
{
var jArray = new JArray();
foreach (var cat in Categories.GroupBy(p => p.ID).Select(g => g.First()).OrderBy(c=> c.ID < 100000 ? "z"+c.ID.ToString() : c.Name))
foreach (var cat in Categories.GroupBy(p => p.ID).Select(g => g.First()).OrderBy(c => c.ID < 100000 ? "z" + c.ID.ToString() : c.Name))
{
jArray.Add(cat.ToJson());
}
@@ -124,7 +127,7 @@ namespace Jackett.Models
lhs.MovieSearchAvailable = lhs.MovieSearchAvailable || rhs.MovieSearchAvailable;
lhs.SupportsTVRageSearch = lhs.SupportsTVRageSearch || rhs.SupportsTVRageSearch;
lhs.SupportsImdbSearch = lhs.SupportsImdbSearch || rhs.SupportsImdbSearch;
lhs.Categories.AddRange (rhs.Categories.Except (lhs.Categories));
lhs.Categories.AddRange(rhs.Categories.Except(lhs.Categories));
return lhs;
}