diff --git a/src/Jackett.Common/Content/custom.css b/src/Jackett.Common/Content/custom.css index 936f57f49..3548a01d6 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-douban { + background-color: #86cc10; +} + .tooltip { pointer-events: none; } diff --git a/src/Jackett.Common/Content/custom.js b/src/Jackett.Common/Content/custom.js index 7d16d42a5..7eee1c698 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 DoubanId = $(row).data("douban"); var Poster = $(row).data("poster"); var Description = $(row).data("description"); var DownloadVolumeFactor = parseFloat($(row).find("td.DownloadVolumeFactor").html()); @@ -1010,6 +1011,10 @@ function updateReleasesRow(row) { labels.append('\nTVDB'); } + if (DoubanId && DoubanId > 0) { + labels.append('\nDouban'); + } + if (!isNaN(DownloadVolumeFactor)) { if (DownloadVolumeFactor == 0) { labels.append('\nFREELEECH'); diff --git a/src/Jackett.Common/Content/custom_mobile.css b/src/Jackett.Common/Content/custom_mobile.css index 44bd803c8..1640a9793 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-douban { + background-color: #86cc10; +} + .tooltip { pointer-events: none; } diff --git a/src/Jackett.Common/Content/index.html b/src/Jackett.Common/Content/index.html index 8fc583187..f04b12a8b 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 a5fe0973d..63e963e6d 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 581c22cc0..8499154d9 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", "rageid", "tmdbid", "tvdbid", "poster", "description" }; + protected readonly string[] OptionalFields = { "imdb", "imdbid", "rageid", "tmdbid", "tvdbid", "poster", "description", "doubanid" }; private static readonly string[] _SupportedLogicFunctions = { @@ -2030,6 +2030,13 @@ namespace Jackett.Common.Indexers release.TMDb = ParseUtil.CoerceLong(TmdbID); value = release.TMDb.ToString(); break; + case "doubanid": + var DoubanIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled); + var DoubanIDMatch = DoubanIDRegEx.Match(value); + var DoubanID = DoubanIDMatch.Groups[1].Value; + release.DoubanId = ParseUtil.CoerceLong(DoubanID); + value = release.DoubanId.ToString(); + break; case "rageid": var RageIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled); var RageIDMatch = RageIDRegEx.Match(value); diff --git a/src/Jackett.Common/Models/ReleaseInfo.cs b/src/Jackett.Common/Models/ReleaseInfo.cs index 9ce0f2159..69ae23db3 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? DoubanId { get; set; } public string Author { get; set; } public string BookTitle { get; set; } public long? Seeders { get; set; } @@ -61,6 +62,7 @@ namespace Jackett.Common.Models RageID = copyFrom.RageID; Imdb = copyFrom.Imdb; TMDb = copyFrom.TMDb; + DoubanId = copyFrom.DoubanId; Author = copyFrom.Author; BookTitle = copyFrom.BookTitle; Seeders = copyFrom.Seeders; @@ -115,6 +117,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}, 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}, DoubanId={DoubanId}, Seeders={Seeders}, Peers={Peers}, Poster={Poster}, InfoHash={InfoHash}, MagnetUri={MagnetUri}, MinimumRatio={MinimumRatio}, MinimumSeedTime={MinimumSeedTime}, DownloadVolumeFactor={DownloadVolumeFactor}, UploadVolumeFactor={UploadVolumeFactor}, Gain={Gain}]"; } }