diff --git a/src/NzbDrone.Core.Test/Files/Indexers/Newznab/newznab_indexerflags.xml b/src/NzbDrone.Core.Test/Files/Indexers/Newznab/newznab_indexerflags.xml index 0d70b3707..bd485ca89 100644 --- a/src/NzbDrone.Core.Test/Files/Indexers/Newznab/newznab_indexerflags.xml +++ b/src/NzbDrone.Core.Test/Files/Indexers/Newznab/newznab_indexerflags.xml @@ -124,5 +124,34 @@ + + title + subs=eng + link + comments + Sat, 31 Aug 2024 12:28:40 +0300 + category + description + + + + + + + + + title + subs='' + link + comments + Sat, 31 Aug 2024 12:28:40 +0300 + category + description + + + + + + \ No newline at end of file diff --git a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs index 3530c137f..cdafafb2d 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/NewznabTests/NewznabFixture.cs @@ -165,6 +165,8 @@ public async Task should_parse_languages() [TestCase("nuked=0 attribute")] [TestCase("prematch=1 and nuked=1 attributes", IndexerFlags.Scene, IndexerFlags.Nuked)] [TestCase("haspretime=0 and nuked=0 attributes")] + [TestCase("subs=eng", IndexerFlags.Subtitles)] + [TestCase("subs=''")] public async Task should_parse_indexer_flags(string releaseGuid, params IndexerFlags[] indexerFlags) { var feed = ReadAllText(@"Files/Indexers/Newznab/newznab_indexerflags.xml"); diff --git a/src/NzbDrone.Core/Indexers/Newznab/NewznabRssParser.cs b/src/NzbDrone.Core/Indexers/Newznab/NewznabRssParser.cs index f43f0b5d4..0bd52f4c1 100644 --- a/src/NzbDrone.Core/Indexers/Newznab/NewznabRssParser.cs +++ b/src/NzbDrone.Core/Indexers/Newznab/NewznabRssParser.cs @@ -210,6 +210,11 @@ protected IndexerFlags GetFlags(XElement item) flags |= IndexerFlags.Nuked; } + if (TryGetNewznabAttribute(item, "subs").IsNotNullOrWhiteSpace()) + { + flags |= IndexerFlags.Subtitles; + } + return flags; }