From 4dee1d65d1b4368237e8976f8e65dad031bf2746 Mon Sep 17 00:00:00 2001 From: Qstick Date: Mon, 4 Jul 2022 22:50:17 -0500 Subject: [PATCH] New: (AvistaZ) Parse Languages and Subs, pass in response #694 --- .../IndexerTests/AvistazTests/AvistazFixture.cs | 4 ++++ src/NzbDrone.Core/IndexerSearch/NewznabResults.cs | 4 ++-- .../Indexers/Definitions/Avistaz/AvistazApi.cs | 8 ++++++++ .../Indexers/Definitions/Avistaz/AvistazParser.cs | 2 ++ src/NzbDrone.Core/Parser/Model/ReleaseInfo.cs | 6 ++++-- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/NzbDrone.Core.Test/IndexerTests/AvistazTests/AvistazFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/AvistazTests/AvistazFixture.cs index 230512265..290944b46 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/AvistazTests/AvistazFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/AvistazTests/AvistazFixture.cs @@ -60,6 +60,10 @@ namespace NzbDrone.Core.Test.IndexerTests.AvistazTests torrentInfo.ImdbId.Should().Be(15569106); torrentInfo.TmdbId.Should().Be(135144); torrentInfo.TvdbId.Should().Be(410548); + torrentInfo.Languages.Should().HaveCount(1); + torrentInfo.Languages.First().Should().Be("Japanese"); + torrentInfo.Subs.Should().HaveCount(27); + torrentInfo.Subs.First().Should().Be("Arabic"); } } } diff --git a/src/NzbDrone.Core/IndexerSearch/NewznabResults.cs b/src/NzbDrone.Core/IndexerSearch/NewznabResults.cs index 85af5b5f4..985822788 100644 --- a/src/NzbDrone.Core/IndexerSearch/NewznabResults.cs +++ b/src/NzbDrone.Core/IndexerSearch/NewznabResults.cs @@ -90,8 +90,8 @@ namespace NzbDrone.Core.IndexerSearch new XAttribute("type", protocol == DownloadProtocol.Torrent ? "application/x-bittorrent" : "application/x-nzb")), r.Categories == null ? null : from c in r.Categories select GetNabElement("category", c.Id, protocol), r.IndexerFlags == null ? null : from f in r.IndexerFlags select GetNabElement("tag", f.Name, protocol), - r.Languages == null ? null : from c in r.Languages select GetNabElement("language", c.Id, protocol), - r.Subs == null ? null : from c in r.Subs select GetNabElement("subs", c.Id, protocol), + r.Languages == null ? null : from c in r.Languages select GetNabElement("language", c, protocol), + r.Subs == null ? null : from c in r.Subs select GetNabElement("subs", c, protocol), r.Genres == null ? null : GetNabElement("genre", string.Join(", ", r.Genres), protocol), GetNabElement("rageid", r.TvRageId, protocol), GetNabElement("tvdbid", r.TvdbId, protocol), diff --git a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazApi.cs b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazApi.cs index fd2b2b892..068be1881 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazApi.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazApi.cs @@ -40,6 +40,14 @@ namespace NzbDrone.Core.Indexers.Definitions.Avistaz [JsonProperty(PropertyName = "video_quality")] public string VideoQuality { get; set; } public string Type { get; set; } + public List Audio { get; set; } + public List Subtitle { get; set; } + } + + public class AvistazLanguage + { + public int Id { get; set; } + public string Language { get; set; } } public class AvistazResponse diff --git a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazParser.cs b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazParser.cs index 4029b45c0..c38fb9df4 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazParser.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Avistaz/AvistazParser.cs @@ -66,6 +66,8 @@ namespace NzbDrone.Core.Indexers.Definitions.Avistaz UploadVolumeFactor = row.UploadMultiply, MinimumRatio = 1, MinimumSeedTime = 172800, // 48 hours + Languages = row.Audio?.Select(x => x.Language).ToList() ?? new List(), + Subs = row.Subtitle?.Select(x => x.Language).ToList() ?? new List() }; if (row.MovieTvinfo != null) diff --git a/src/NzbDrone.Core/Parser/Model/ReleaseInfo.cs b/src/NzbDrone.Core/Parser/Model/ReleaseInfo.cs index 0505c9e0d..f76e36747 100644 --- a/src/NzbDrone.Core/Parser/Model/ReleaseInfo.cs +++ b/src/NzbDrone.Core/Parser/Model/ReleaseInfo.cs @@ -13,6 +13,8 @@ namespace NzbDrone.Core.Parser.Model { IndexerFlags = new List(); Categories = new List(); + Languages = new List(); + Subs = new List(); } public string Guid { get; set; } @@ -49,8 +51,8 @@ namespace NzbDrone.Core.Parser.Model public string Codec { get; set; } public string Resolution { get; set; } public ICollection Genres { get; set; } - public ICollection Languages { get; set; } - public ICollection Subs { get; set; } + public ICollection Languages { get; set; } + public ICollection Subs { get; set; } public ICollection Categories { get; set; } public ICollection IndexerFlags { get; set; }