mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
@@ -1301,7 +1301,8 @@ namespace Jackett.Common.Indexers
|
|||||||
variables[".Query.IMDBIDShort"] = query.ImdbIDShort;
|
variables[".Query.IMDBIDShort"] = query.ImdbIDShort;
|
||||||
variables[".Query.TMDBID"] = query.TmdbID?.ToString() ?? null;
|
variables[".Query.TMDBID"] = query.TmdbID?.ToString() ?? null;
|
||||||
variables[".Query.TVMazeID"] = null;
|
variables[".Query.TVMazeID"] = null;
|
||||||
variables[".Query.TraktID"] = null;
|
variables[".Query.TraktID"] = query.TraktID?.ToString() ?? null;
|
||||||
|
variables[".Query.DoubanID"] = query.DoubanID?.ToString() ?? null;
|
||||||
variables[".Query.Album"] = query.Album;
|
variables[".Query.Album"] = query.Album;
|
||||||
variables[".Query.Artist"] = query.Artist;
|
variables[".Query.Artist"] = query.Artist;
|
||||||
variables[".Query.Label"] = query.Label;
|
variables[".Query.Label"] = query.Label;
|
||||||
|
@@ -5,28 +5,30 @@ namespace Jackett.Common.Models.DTO
|
|||||||
{
|
{
|
||||||
public class TorznabRequest
|
public class TorznabRequest
|
||||||
{
|
{
|
||||||
public string t { get; set; }
|
|
||||||
public string q { get; set; }
|
public string q { get; set; }
|
||||||
public string cat { get; set; }
|
|
||||||
public string imdbid { get; set; }
|
public string imdbid { get; set; }
|
||||||
public string tmdbid { get; set; }
|
public string ep { get; set; }
|
||||||
|
public string t { get; set; }
|
||||||
public string extended { get; set; }
|
public string extended { get; set; }
|
||||||
public string limit { get; set; }
|
public string limit { get; set; }
|
||||||
public string offset { get; set; }
|
public string offset { get; set; }
|
||||||
|
public string cache { get; set; }
|
||||||
|
public string cat { get; set; }
|
||||||
|
public string season { get; set; }
|
||||||
public string rid { get; set; }
|
public string rid { get; set; }
|
||||||
public string tvdbid { get; set; }
|
public string tvdbid { get; set; }
|
||||||
public string season { get; set; }
|
public string tmdbid { get; set; }
|
||||||
public string ep { get; set; }
|
public string traktid { get; set; }
|
||||||
|
public string doubanid { get; set; }
|
||||||
public string album { get; set; }
|
public string album { get; set; }
|
||||||
public string artist { get; set; }
|
public string artist { get; set; }
|
||||||
public string label { get; set; }
|
public string label { get; set; }
|
||||||
public string track { get; set; }
|
public string track { get; set; }
|
||||||
public string year { get; set; }
|
public string year { get; set; }
|
||||||
public string genre { get; set; }
|
public string genre { get; set; }
|
||||||
public string author { get; set; }
|
|
||||||
public string title { get; set; }
|
public string title { get; set; }
|
||||||
|
public string author { get; set; }
|
||||||
public string configured { get; set; }
|
public string configured { get; set; }
|
||||||
public string cache { get; set; }
|
|
||||||
|
|
||||||
public static TorznabQuery ToTorznabQuery(TorznabRequest request)
|
public static TorznabQuery ToTorznabQuery(TorznabRequest request)
|
||||||
{
|
{
|
||||||
@@ -64,15 +66,19 @@ namespace Jackett.Common.Models.DTO
|
|||||||
query.Categories = new int[0];
|
query.Categories = new int[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(request.season))
|
||||||
|
query.Season = int.Parse(request.season);
|
||||||
if (!string.IsNullOrWhiteSpace(request.rid))
|
if (!string.IsNullOrWhiteSpace(request.rid))
|
||||||
query.RageID = int.Parse(request.rid);
|
query.RageID = int.Parse(request.rid);
|
||||||
if (!string.IsNullOrWhiteSpace(request.tvdbid))
|
if (!string.IsNullOrWhiteSpace(request.tvdbid))
|
||||||
query.TvdbID = int.Parse(request.tvdbid);
|
query.TvdbID = int.Parse(request.tvdbid);
|
||||||
if (!string.IsNullOrWhiteSpace(request.season))
|
|
||||||
query.Season = int.Parse(request.season);
|
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(request.tmdbid))
|
if (!string.IsNullOrWhiteSpace(request.tmdbid))
|
||||||
query.TmdbID = int.Parse(request.tmdbid);
|
query.TmdbID = int.Parse(request.tmdbid);
|
||||||
|
if (!string.IsNullOrWhiteSpace(request.traktid))
|
||||||
|
query.TraktID = int.Parse(request.traktid);
|
||||||
|
if (!string.IsNullOrWhiteSpace(request.doubanid))
|
||||||
|
query.DoubanID = int.Parse(request.doubanid);
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(request.album))
|
if (!string.IsNullOrWhiteSpace(request.album))
|
||||||
query.Album = request.album;
|
query.Album = request.album;
|
||||||
|
@@ -13,14 +13,17 @@ namespace Jackett.Common.Models
|
|||||||
ImdbId,
|
ImdbId,
|
||||||
TvdbId,
|
TvdbId,
|
||||||
RId,
|
RId,
|
||||||
TmdbId
|
TmdbId,
|
||||||
|
TraktId
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum MovieSearchParam
|
public enum MovieSearchParam
|
||||||
{
|
{
|
||||||
Q,
|
Q,
|
||||||
ImdbId,
|
ImdbId,
|
||||||
TmdbId
|
TmdbId,
|
||||||
|
TraktId,
|
||||||
|
DoubanId
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum MusicSearchParam
|
public enum MusicSearchParam
|
||||||
@@ -56,11 +59,14 @@ namespace Jackett.Common.Models
|
|||||||
public bool TvSearchTvdbAvailable => (TvSearchParams.Contains(TvSearchParam.TvdbId));
|
public bool TvSearchTvdbAvailable => (TvSearchParams.Contains(TvSearchParam.TvdbId));
|
||||||
public bool TvSearchTvRageAvailable => (TvSearchParams.Contains(TvSearchParam.RId));
|
public bool TvSearchTvRageAvailable => (TvSearchParams.Contains(TvSearchParam.RId));
|
||||||
public bool TvSearchTmdbAvailable => (TvSearchParams.Contains(TvSearchParam.TmdbId));
|
public bool TvSearchTmdbAvailable => (TvSearchParams.Contains(TvSearchParam.TmdbId));
|
||||||
|
public bool TvSearchTraktAvailable => (TvSearchParams.Contains(TvSearchParam.TraktId));
|
||||||
|
|
||||||
public List<MovieSearchParam> MovieSearchParams;
|
public List<MovieSearchParam> MovieSearchParams;
|
||||||
public bool MovieSearchAvailable => (MovieSearchParams.Count > 0);
|
public bool MovieSearchAvailable => (MovieSearchParams.Count > 0);
|
||||||
public bool MovieSearchImdbAvailable => (MovieSearchParams.Contains(MovieSearchParam.ImdbId));
|
public bool MovieSearchImdbAvailable => (MovieSearchParams.Contains(MovieSearchParam.ImdbId));
|
||||||
public bool MovieSearchTmdbAvailable => (MovieSearchParams.Contains(MovieSearchParam.TmdbId));
|
public bool MovieSearchTmdbAvailable => (MovieSearchParams.Contains(MovieSearchParam.TmdbId));
|
||||||
|
public bool MovieSearchTraktAvailable => (MovieSearchParams.Contains(MovieSearchParam.TraktId));
|
||||||
|
public bool MovieSearchDoubanAvailable => (MovieSearchParams.Contains(MovieSearchParam.DoubanId));
|
||||||
|
|
||||||
public List<MusicSearchParam> MusicSearchParams;
|
public List<MusicSearchParam> MusicSearchParams;
|
||||||
public bool MusicSearchAvailable => (MusicSearchParams.Count > 0);
|
public bool MusicSearchAvailable => (MusicSearchParams.Count > 0);
|
||||||
@@ -187,6 +193,8 @@ namespace Jackett.Common.Models
|
|||||||
parameters.Add("rid");
|
parameters.Add("rid");
|
||||||
if (TvSearchTmdbAvailable)
|
if (TvSearchTmdbAvailable)
|
||||||
parameters.Add("tmdbid");
|
parameters.Add("tmdbid");
|
||||||
|
if (TvSearchTmdbAvailable)
|
||||||
|
parameters.Add("traktid");
|
||||||
return string.Join(",", parameters);
|
return string.Join(",", parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,6 +205,10 @@ namespace Jackett.Common.Models
|
|||||||
parameters.Add("imdbid");
|
parameters.Add("imdbid");
|
||||||
if (MovieSearchTmdbAvailable)
|
if (MovieSearchTmdbAvailable)
|
||||||
parameters.Add("tmdbid");
|
parameters.Add("tmdbid");
|
||||||
|
if (MovieSearchImdbAvailable)
|
||||||
|
parameters.Add("traktid");
|
||||||
|
if (MovieSearchTmdbAvailable)
|
||||||
|
parameters.Add("doubanid");
|
||||||
return string.Join(",", parameters);
|
return string.Join(",", parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -19,6 +19,8 @@ namespace Jackett.Common.Models
|
|||||||
public int? TvdbID { get; set; }
|
public int? TvdbID { get; set; }
|
||||||
public string ImdbID { get; set; }
|
public string ImdbID { get; set; }
|
||||||
public int? TmdbID { get; set; }
|
public int? TmdbID { get; set; }
|
||||||
|
public int? TraktID { get; set; }
|
||||||
|
public int? DoubanID { get; set; }
|
||||||
public bool Cache { get; set; } = true;
|
public bool Cache { get; set; } = true;
|
||||||
|
|
||||||
public int Season { get; set; }
|
public int Season { get; set; }
|
||||||
@@ -59,6 +61,10 @@ namespace Jackett.Common.Models
|
|||||||
|
|
||||||
public bool IsTmdbQuery => TmdbID != null;
|
public bool IsTmdbQuery => TmdbID != null;
|
||||||
|
|
||||||
|
public bool IsTraktQuery => TraktID != null;
|
||||||
|
|
||||||
|
public bool IsDoubanQuery => DoubanID != null;
|
||||||
|
|
||||||
public bool HasSpecifiedCategories => (Categories != null && Categories.Length > 0);
|
public bool HasSpecifiedCategories => (Categories != null && Categories.Length > 0);
|
||||||
|
|
||||||
public string SanitizedSearchTerm
|
public string SanitizedSearchTerm
|
||||||
@@ -139,6 +145,8 @@ namespace Jackett.Common.Models
|
|||||||
TvdbID = TvdbID,
|
TvdbID = TvdbID,
|
||||||
ImdbID = ImdbID,
|
ImdbID = ImdbID,
|
||||||
TmdbID = TmdbID,
|
TmdbID = TmdbID,
|
||||||
|
TraktID = TraktID,
|
||||||
|
DoubanID = DoubanID,
|
||||||
Cache = Cache
|
Cache = Cache
|
||||||
};
|
};
|
||||||
if (Categories?.Length > 0)
|
if (Categories?.Length > 0)
|
||||||
|
@@ -406,7 +406,7 @@ namespace Jackett.Test.Common.Models
|
|||||||
Assert.AreEqual("yes", xDocumentSearching?.Element("tv-search")?.Attribute("available")?.Value);
|
Assert.AreEqual("yes", xDocumentSearching?.Element("tv-search")?.Attribute("available")?.Value);
|
||||||
Assert.AreEqual("q,season,ep,tvdbid,rid", xDocumentSearching?.Element("tv-search")?.Attribute("supportedParams")?.Value);
|
Assert.AreEqual("q,season,ep,tvdbid,rid", xDocumentSearching?.Element("tv-search")?.Attribute("supportedParams")?.Value);
|
||||||
Assert.AreEqual("yes", xDocumentSearching?.Element("movie-search")?.Attribute("available")?.Value);
|
Assert.AreEqual("yes", xDocumentSearching?.Element("movie-search")?.Attribute("available")?.Value);
|
||||||
Assert.AreEqual("q,imdbid,tmdbid", xDocumentSearching?.Element("movie-search")?.Attribute("supportedParams")?.Value);
|
Assert.AreEqual("q,imdbid,tmdbid,traktid,doubanid", xDocumentSearching?.Element("movie-search")?.Attribute("supportedParams")?.Value);
|
||||||
Assert.AreEqual("yes", xDocumentSearching?.Element("music-search")?.Attribute("available")?.Value);
|
Assert.AreEqual("yes", xDocumentSearching?.Element("music-search")?.Attribute("available")?.Value);
|
||||||
Assert.AreEqual("q,album,artist,label,year", xDocumentSearching?.Element("music-search")?.Attribute("supportedParams")?.Value);
|
Assert.AreEqual("q,album,artist,label,year", xDocumentSearching?.Element("music-search")?.Attribute("supportedParams")?.Value);
|
||||||
Assert.AreEqual("yes", xDocumentSearching?.Element("audio-search")?.Attribute("available")?.Value);
|
Assert.AreEqual("yes", xDocumentSearching?.Element("audio-search")?.Attribute("available")?.Value);
|
||||||
|
Reference in New Issue
Block a user