From 16eaae7be06d54a3d4873923ca59b5e4aebc0bdf Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sat, 22 Apr 2023 03:15:40 +0300 Subject: [PATCH] animebytes: ignore useless extensions to improve single file names (#14266) --- src/Jackett.Common/Indexers/AnimeBytes.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/Jackett.Common/Indexers/AnimeBytes.cs b/src/Jackett.Common/Indexers/AnimeBytes.cs index b65cce003..639ae6a29 100644 --- a/src/Jackett.Common/Indexers/AnimeBytes.cs +++ b/src/Jackett.Common/Indexers/AnimeBytes.cs @@ -51,6 +51,7 @@ namespace Jackett.Common.Indexers "RAW", "Translated" }; + private static readonly HashSet _ExcludedFileExtensions = new HashSet(StringComparer.OrdinalIgnoreCase) { ".mka", ".mds", ".md5", ".nfo", ".sfv", ".ass", ".mks", ".srt", ".ssa", ".sup", ".jpeg", ".jpg", ".png", ".otf", ".ttf" }; private ConfigurationDataAnimeBytes ConfigData => (ConfigurationDataAnimeBytes)configData; @@ -595,9 +596,21 @@ namespace Jackett.Common.Indexers releases.Add(release); } - if (AddFileNameTitles && fileCount == 1) + if (AddFileNameTitles && torrent.Value("FileList") != null) { - var releaseTitle = Path.GetFileNameWithoutExtension(torrent.Value("FileList")?.First().Value("filename")); + var files = torrent.Value("FileList").ToList(); + + if (files.Count > 1) + { + files = files.Where(f => !_ExcludedFileExtensions.Contains(Path.GetExtension(f.Value("filename")))).ToList(); + } + + if (files.Count != 1) + { + continue; + } + + var releaseTitle = files.First().Value("filename"); var guid = new Uri(details + "&nh=" + StringUtil.Hash(releaseTitle));