From 60f87783059c47d816a2c98f9d611f9355510a25 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sun, 24 Jul 2022 19:22:06 -0500 Subject: [PATCH] New: Search by DoubanId --- .../Definitions/MovieSearchCriteria.cs | 1 + .../Definitions/MusicSearchCriteria.cs | 1 + .../Definitions/TvSearchCriteria.cs | 1 + .../IndexerSearch/NewznabRequest.cs | 27 ++++++++++++++++--- .../IndexerSearch/NewznabResults.cs | 2 ++ .../IndexerSearch/ReleaseSearchService.cs | 3 +++ .../Indexers/IndexerCapabilities.cs | 27 ++++++++++++++++--- src/NzbDrone.Core/Parser/Model/ReleaseInfo.cs | 2 ++ 8 files changed, 58 insertions(+), 6 deletions(-) diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/MovieSearchCriteria.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/MovieSearchCriteria.cs index e576d8eee..f69d88a3b 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/MovieSearchCriteria.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/MovieSearchCriteria.cs @@ -9,6 +9,7 @@ namespace NzbDrone.Core.IndexerSearch.Definitions public string ImdbId { get; set; } public int? TmdbId { get; set; } public int? TraktId { get; set; } + public int? DoubanId { get; set; } public int? Year { get; set; } public string Genre { get; set; } diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs index d75e3a0db..4026367cc 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/MusicSearchCriteria.cs @@ -8,6 +8,7 @@ namespace NzbDrone.Core.IndexerSearch.Definitions public string Artist { get; set; } public string Label { get; set; } public string Genre { get; set; } + public string Track { get; set; } public int? Year { get; set; } public override bool RssSearch diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs index 4a1303d28..35ba12dd2 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs @@ -17,6 +17,7 @@ namespace NzbDrone.Core.IndexerSearch.Definitions public int? TvMazeId { get; set; } public int? TraktId { get; set; } public int? TmdbId { get; set; } + public int? DoubanId { get; set; } public string SanitizedTvSearchString => (SanitizedSearchTerm + " " + EpisodeSearchString).Trim(); public string EpisodeSearchString => GetEpisodeSearchString(); diff --git a/src/NzbDrone.Core/IndexerSearch/NewznabRequest.cs b/src/NzbDrone.Core/IndexerSearch/NewznabRequest.cs index 912c108fb..56dac00de 100644 --- a/src/NzbDrone.Core/IndexerSearch/NewznabRequest.cs +++ b/src/NzbDrone.Core/IndexerSearch/NewznabRequest.cs @@ -4,9 +4,9 @@ namespace NzbDrone.Core.IndexerSearch { public class NewznabRequest { - private static readonly Regex TvRegex = new Regex(@"\{((?:imdbid\:)(?[^{]+)|(?:tvdbid\:)(?[^{]+)|(?:season\:)(?[^{]+)|(?:episode\:)(?[^{]+))\}", RegexOptions.Compiled | RegexOptions.IgnoreCase); - private static readonly Regex MovieRegex = new Regex(@"\{((?:imdbid\:)(?[^{]+)|(?:tmdbid\:)(?[^{]+))\}", RegexOptions.Compiled | RegexOptions.IgnoreCase); - private static readonly Regex MusicRegex = new Regex(@"\{((?:artist\:)(?[^{]+)|(?:album\:)(?[^{]+)|(?:label\:)(?