diff --git a/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs b/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs index a52361fb6..4a1303d28 100644 --- a/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs +++ b/src/NzbDrone.Core/IndexerSearch/Definitions/TvSearchCriteria.cs @@ -16,6 +16,7 @@ namespace NzbDrone.Core.IndexerSearch.Definitions public int? RId { get; set; } public int? TvMazeId { get; set; } public int? TraktId { get; set; } + public int? TmdbId { get; set; } public string SanitizedTvSearchString => (SanitizedSearchTerm + " " + EpisodeSearchString).Trim(); public string EpisodeSearchString => GetEpisodeSearchString(); @@ -74,6 +75,11 @@ namespace NzbDrone.Core.IndexerSearch.Definitions builder.Append($" TraktId:[{TraktId}]"); } + if (TmdbId.HasValue) + { + builder.Append($" TmdbId:[{TmdbId}]"); + } + builder = builder.Append(searchEpisodeTerm); return builder.ToString().Trim(); } diff --git a/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs b/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs index 14e4bba7c..863432e4a 100644 --- a/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs +++ b/src/NzbDrone.Core/IndexerSearch/ReleaseSearchService.cs @@ -84,6 +84,7 @@ namespace NzbDrone.Core.IndexerSearch searchSpec.TvdbId = request.tvdbid; searchSpec.ImdbId = request.imdbid; searchSpec.TraktId = request.traktid; + searchSpec.TmdbId = request.tmdbid; searchSpec.RId = request.rid; searchSpec.TvMazeId = request.tvmazeid; diff --git a/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs b/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs index 92f66de27..6a455b96c 100644 --- a/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs +++ b/src/NzbDrone.Core/Indexers/IndexerCapabilities.cs @@ -13,7 +13,9 @@ namespace NzbDrone.Core.Indexers ImdbId, TvdbId, RId, - TvMazeId + TvMazeId, + TraktId, + TmdbId } public enum MovieSearchParam @@ -65,6 +67,8 @@ namespace NzbDrone.Core.Indexers public bool TvSearchTvdbAvailable => TvSearchParams.Contains(TvSearchParam.TvdbId); public bool TvSearchTvRageAvailable => TvSearchParams.Contains(TvSearchParam.RId); public bool TvSearchTvMazeAvailable => TvSearchParams.Contains(TvSearchParam.TvMazeId); + public bool TvSearchTraktAvailable => TvSearchParams.Contains(TvSearchParam.TraktId); + public bool TvSearchTmdbAvailable => TvSearchParams.Contains(TvSearchParam.TmdbId); public List MovieSearchParams; public bool MovieSearchAvailable => MovieSearchParams.Count > 0; @@ -284,6 +288,16 @@ namespace NzbDrone.Core.Indexers parameters.Add("tvmazeid"); } + if (TvSearchTraktAvailable) + { + parameters.Add("traktid"); + } + + if (TvSearchTmdbAvailable) + { + parameters.Add("tmdbid"); + } + return string.Join(",", parameters); }