diff --git a/src/Jackett.Common/Content/custom.css b/src/Jackett.Common/Content/custom.css index 3548a01d6..eba212b0f 100644 --- a/src/Jackett.Common/Content/custom.css +++ b/src/Jackett.Common/Content/custom.css @@ -309,6 +309,10 @@ table td.fit{ background-color: #86cca8; } +.label-trakt { + background-color: #ef1e25; +} + .label-douban { background-color: #86cc10; } diff --git a/src/Jackett.Common/Content/custom.js b/src/Jackett.Common/Content/custom.js index cb23ef502..f06ed5bd2 100644 --- a/src/Jackett.Common/Content/custom.js +++ b/src/Jackett.Common/Content/custom.js @@ -973,6 +973,7 @@ function updateReleasesRow(row) { var IMDBId = $(row).data("imdb"); var TMDBId = $(row).data("tmdb"); var TVDBId = $(row).data("tvdb"); + var TraktId = $(row).data("trakt"); var DoubanId = $(row).data("douban"); var Poster = $(row).data("poster"); var Description = $(row).data("description"); @@ -1011,6 +1012,11 @@ function updateReleasesRow(row) { labels.append('\nTVDB'); } + if (TraktId && TraktId > 0) { + var TraktType = (Cat.includes("Movies")) ? "movies" : "shows"; + labels.append('\nTrakt'); + } + if (DoubanId && DoubanId > 0) { labels.append('\nDouban'); } diff --git a/src/Jackett.Common/Content/custom_mobile.css b/src/Jackett.Common/Content/custom_mobile.css index 1640a9793..cfba896df 100644 --- a/src/Jackett.Common/Content/custom_mobile.css +++ b/src/Jackett.Common/Content/custom_mobile.css @@ -292,6 +292,10 @@ table td.fit{ background-color: #86cca8; } +.label-trakt { + background-color: #ef1e25; +} + .label-douban { background-color: #86cc10; } diff --git a/src/Jackett.Common/Content/index.html b/src/Jackett.Common/Content/index.html index 5ed6ba7ae..726727c2c 100644 --- a/src/Jackett.Common/Content/index.html +++ b/src/Jackett.Common/Content/index.html @@ -28,8 +28,8 @@ - - + + @@ -458,7 +458,7 @@ {{#each releases}} - + {{PublishDate}} {{FirstSeen}} {{jacketTimespan PublishDate}} @@ -586,7 +586,7 @@ {{#each Results}} - + {{PublishDate}} {{jacketTimespan PublishDate}} {{Tracker}} @@ -754,6 +754,6 @@ - + diff --git a/src/Jackett.Common/Content/login.html b/src/Jackett.Common/Content/login.html index 63e963e6d..204259c2d 100644 --- a/src/Jackett.Common/Content/login.html +++ b/src/Jackett.Common/Content/login.html @@ -16,7 +16,7 @@ - + Jackett diff --git a/src/Jackett.Common/Indexers/CardigannIndexer.cs b/src/Jackett.Common/Indexers/CardigannIndexer.cs index 239f0adb0..c1b44d6f6 100644 --- a/src/Jackett.Common/Indexers/CardigannIndexer.cs +++ b/src/Jackett.Common/Indexers/CardigannIndexer.cs @@ -38,7 +38,7 @@ namespace Jackett.Common.Indexers set => base.configData = value; } - protected readonly string[] OptionalFields = { "imdb", "imdbid", "tmdbid", "rageid", "tvdbid", "doubanid", "poster", "description" }; + protected readonly string[] OptionalFields = { "imdb", "imdbid", "tmdbid", "rageid", "tvdbid", "traktid", "doubanid", "poster", "description" }; private static readonly string[] _SupportedLogicFunctions = { @@ -2057,6 +2057,13 @@ namespace Jackett.Common.Indexers release.TVDBId = ParseUtil.CoerceLong(TVDBId); value = release.TVDBId.ToString(); break; + case "traktid": + var TraktIdRegEx = new Regex(@"(\d+)", RegexOptions.Compiled); + var TraktIdMatch = TraktIdRegEx.Match(value); + var TraktId = TraktIdMatch.Groups[1].Value; + release.TraktId = ParseUtil.CoerceLong(TraktId); + value = release.TraktId.ToString(); + break; case "doubanid": var DoubanIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled); var DoubanIDMatch = DoubanIDRegEx.Match(value); diff --git a/src/Jackett.Common/Models/ReleaseInfo.cs b/src/Jackett.Common/Models/ReleaseInfo.cs index c8a68e454..7fccba691 100644 --- a/src/Jackett.Common/Models/ReleaseInfo.cs +++ b/src/Jackett.Common/Models/ReleaseInfo.cs @@ -24,6 +24,7 @@ namespace Jackett.Common.Models public long? TVDBId { get; set; } public long? Imdb { get; set; } public long? TMDb { get; set; } + public long? TraktId { get; set; } public long? DoubanId { get; set; } public ICollection Genres { get; set; } public long? Year { get; set; } @@ -67,6 +68,7 @@ namespace Jackett.Common.Models TVDBId = copyFrom.TVDBId; Imdb = copyFrom.Imdb; TMDb = copyFrom.TMDb; + TraktId = copyFrom.TraktId; DoubanId = copyFrom.DoubanId; Genres = copyFrom.Genres; Year = copyFrom.Year; @@ -126,6 +128,6 @@ namespace Jackett.Common.Models public static long BytesFromKB(float kb) => (long)(kb * 1024f); public override string ToString() => - $"[ReleaseInfo: Title={Title}, Guid={Guid}, Link={Link}, Details={Details}, PublishDate={PublishDate}, Category={Category}, Size={Size}, Files={Files}, Grabs={Grabs}, Description={Description}, RageID={RageID}, TVDBId={TVDBId}, Imdb={Imdb}, TMDb={TMDb}, DoubanId={DoubanId}, Seeders={Seeders}, Peers={Peers}, Poster={Poster}, InfoHash={InfoHash}, MagnetUri={MagnetUri}, MinimumRatio={MinimumRatio}, MinimumSeedTime={MinimumSeedTime}, DownloadVolumeFactor={DownloadVolumeFactor}, UploadVolumeFactor={UploadVolumeFactor}, Gain={Gain}]"; + $"[ReleaseInfo: Title={Title}, Guid={Guid}, Link={Link}, Details={Details}, PublishDate={PublishDate}, Category={Category}, Size={Size}, Files={Files}, Grabs={Grabs}, Description={Description}, RageID={RageID}, TVDBId={TVDBId}, Imdb={Imdb}, TMDb={TMDb}, TraktId={TraktId}, DoubanId={DoubanId}, Seeders={Seeders}, Peers={Peers}, Poster={Poster}, InfoHash={InfoHash}, MagnetUri={MagnetUri}, MinimumRatio={MinimumRatio}, MinimumSeedTime={MinimumSeedTime}, DownloadVolumeFactor={DownloadVolumeFactor}, UploadVolumeFactor={UploadVolumeFactor}, Gain={Gain}]"; } } diff --git a/src/Jackett.Common/Models/ResultPage.cs b/src/Jackett.Common/Models/ResultPage.cs index 07e763b79..98a46de88 100644 --- a/src/Jackett.Common/Models/ResultPage.cs +++ b/src/Jackett.Common/Models/ResultPage.cs @@ -99,6 +99,7 @@ namespace Jackett.Common.Models GetTorznabElement("imdb", r.Imdb?.ToString("D7")), GetTorznabElement("imdbid", r.Imdb != null ? "tt" + r.Imdb?.ToString("D7") : null), GetTorznabElement("tmdbid", r.TMDb), + GetTorznabElement("traktid", r.TraktId), GetTorznabElement("doubanid", r.DoubanId), r.Genres == null ? null : GetTorznabElement("genre", string.Join(", ", r.Genres)), GetTorznabElement("year", r.Year),