Skip to content

Commit

Permalink
core: remove automapper
Browse files Browse the repository at this point in the history
  • Loading branch information
ngosang committed Jan 8, 2023
1 parent d7c8853 commit 57a4f6a
Show file tree
Hide file tree
Showing 8 changed files with 78 additions and 65 deletions.
7 changes: 4 additions & 3 deletions src/Jackett.Common/Indexers/BaseIndexer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,7 @@ protected async Task FollowIfRedirect(WebResult response, string referrer = null
if (redirectingTo.Scheme == "magnet")
break;

await DoFollowIfRedirect(response, referrer, overrideRedirectUrl, overrideCookies, accumulateCookies);
response = await DoFollowIfRedirect(response, referrer, overrideRedirectUrl, overrideCookies, accumulateCookies);
if (accumulateCookies)
{
CookieHeader = ResolveCookies((CookieHeader != null && CookieHeader != "" ? CookieHeader + " " : "") + (overrideCookies != null && overrideCookies != "" ? overrideCookies + " " : "") + response.Cookies);
Expand Down Expand Up @@ -621,7 +621,7 @@ protected virtual void UpdateCookieHeader(string newCookies, string cookieOverri
}
}

private async Task DoFollowIfRedirect(WebResult incomingResponse, string referrer = null, string overrideRedirectUrl = null, string overrideCookies = null, bool accumulateCookies = false)
private async Task<WebResult> DoFollowIfRedirect(WebResult incomingResponse, string referrer = null, string overrideRedirectUrl = null, string overrideCookies = null, bool accumulateCookies = false)
{
if (incomingResponse.IsRedirect)
{
Expand All @@ -642,8 +642,9 @@ private async Task DoFollowIfRedirect(WebResult incomingResponse, string referre
Cookies = redirRequestCookies,
Encoding = Encoding
});
MapperUtil.Mapper.Map(redirectedResponse, incomingResponse);
return redirectedResponse;
}
return incomingResponse;
}

protected List<string> GetAllTrackerCategories() =>
Expand Down
1 change: 0 additions & 1 deletion src/Jackett.Common/Jackett.Common.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
<PackageReference Include="AngleSharp" Version="0.17.1" />
<PackageReference Include="AngleSharp.Xml" Version="0.17.0" />
<PackageReference Include="Autofac" Version="6.5.0" />
<PackageReference Include="AutoMapper" Version="10.1.1" />
<PackageReference Include="BencodeNET" Version="4.0.0" />
<PackageReference Include="FlareSolverrSharp" Version="3.0.3" />
<PackageReference Include="CommandLineParser" Version="2.9.1" />
Expand Down
2 changes: 1 addition & 1 deletion src/Jackett.Common/Models/ReleaseInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ protected ReleaseInfo(ReleaseInfo copyFrom)
UploadVolumeFactor = copyFrom.UploadVolumeFactor;
}

public virtual object Clone() => new ReleaseInfo(this);
public object Clone() => new ReleaseInfo(this);

// ex: " 3.5 gb " -> "3758096384" , "3,5GB" -> "3758096384" , "296,98 MB" -> "311406100.48" , "1.018,29 MB" -> "1067754455.04"
// ex: "1.018.29mb" -> "1067754455.04" , "-" -> "0" , "---" -> "0"
Expand Down
48 changes: 48 additions & 0 deletions src/Jackett.Common/Models/TrackerCacheResult.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Linq;

namespace Jackett.Common.Models
{
Expand All @@ -10,5 +11,52 @@ public class TrackerCacheResult : ReleaseInfo
public string TrackerType { get; set; }
public string CategoryDesc { get; set; }
public Uri BlackholeLink { get; set; }

public TrackerCacheResult(ReleaseInfo releaseInfo)
{
Title = releaseInfo.Title;
Guid = releaseInfo.Guid;
Link = releaseInfo.Link;
Details = releaseInfo.Details;
PublishDate = releaseInfo.PublishDate;
Category = releaseInfo.Category;
Size = releaseInfo.Size;
Files = releaseInfo.Files;
Grabs = releaseInfo.Grabs;
Description = releaseInfo.Description;
RageID = releaseInfo.RageID;
TVDBId = releaseInfo.TVDBId;
Imdb = releaseInfo.Imdb;
TMDb = releaseInfo.TMDb;
TVMazeId = releaseInfo.TVMazeId;
TraktId = releaseInfo.TraktId;
DoubanId = releaseInfo.DoubanId;
Genres = releaseInfo.Genres;
Year = releaseInfo.Year;
Author = releaseInfo.Author;
BookTitle = releaseInfo.BookTitle;
Publisher = releaseInfo.Publisher;
Artist = releaseInfo.Artist;
Album = releaseInfo.Album;
Label = releaseInfo.Label;
Track = releaseInfo.Track;
Seeders = releaseInfo.Seeders;
Peers = releaseInfo.Peers;
Poster = releaseInfo.Poster;
InfoHash = releaseInfo.InfoHash;
MagnetUri = releaseInfo.MagnetUri;
MinimumRatio = releaseInfo.MinimumRatio;
MinimumSeedTime = releaseInfo.MinimumSeedTime;
DownloadVolumeFactor = releaseInfo.DownloadVolumeFactor;
UploadVolumeFactor = releaseInfo.UploadVolumeFactor;

CategoryDesc = "";
if (Category != null)
CategoryDesc = string.Join(
", ", Category.Select(TorznabCatType.GetCatDesc).Where(x => !string.IsNullOrEmpty(x)));

// Use peers as leechers
Peers -= Seeders;
}
}
}
40 changes: 18 additions & 22 deletions src/Jackett.Common/Services/CacheService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public void CacheResults(IIndexer indexer, TorznabQuery query, List<ReleaseInfo>
var trackerCacheQuery = new TrackerCacheQuery
{
Created = DateTime.Now,
Results = releases
Results = releases.Select(r => (ReleaseInfo)r.Clone()).ToList()
};

var trackerCache = _cache[indexer.Id];
Expand Down Expand Up @@ -122,27 +122,23 @@ public List<TrackerCacheResult> GetCachedResults()

PruneCacheByTtl(); // remove expired results

var results = new List<TrackerCacheResult>();
foreach (var trackerCache in _cache.Values)
{
var trackerResults = new List<TrackerCacheResult>();
foreach (var query in trackerCache.Queries.Values.OrderByDescending(q => q.Created)) // newest first
{
foreach (var release in query.Results)
{
var item = MapperUtil.Mapper.Map<TrackerCacheResult>(release);
item.FirstSeen = query.Created;
item.Tracker = trackerCache.TrackerName;
item.TrackerId = trackerCache.TrackerId;
item.TrackerType = trackerCache.TrackerType;
item.Peers -= item.Seeders; // Use peers as leechers
trackerResults.Add(item);
}
}
trackerResults = trackerResults.GroupBy(r => r.Guid).Select(y => y.First()).Take(300).ToList();
results.AddRange(trackerResults);
}
var result = results.OrderByDescending(i => i.PublishDate).Take(3000).ToList();
var result = _cache.Values.SelectMany(
trackerCache => trackerCache.Queries.Values
.OrderByDescending(q => q.Created)
.SelectMany(
query => query.Results.Select(release =>
new TrackerCacheResult(release)
{
FirstSeen = query.Created,
Tracker = trackerCache.TrackerName,
TrackerId = trackerCache.TrackerId,
TrackerType = trackerCache.TrackerType
}))
.GroupBy(r => r.Guid)
.Select(y => y.First())
.Take(300))
.OrderByDescending(i => i.PublishDate)
.Take(3000).ToList();

_logger.Debug($"CACHE GetCachedResults / Results: {result.Count} (cache may contain more results)");
PrintCacheStatus();
Expand Down
26 changes: 0 additions & 26 deletions src/Jackett.Common/Utils/MapperUtil.cs

This file was deleted.

18 changes: 7 additions & 11 deletions src/Jackett.Server/Controllers/ResultsController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -277,14 +277,11 @@ public async Task<IActionResult> Results([FromQuery] ApiSearch requestt)
var searchResults = t.Result.Releases;
var indexer = t.Result.Indexer;
return searchResults.Select(result =>
return searchResults.Select(result => new TrackerCacheResult(result)
{
var item = MapperUtil.Mapper.Map<TrackerCacheResult>(result);
item.Tracker = indexer.DisplayName;
item.TrackerId = indexer.Id;
item.TrackerType = indexer.Type;
item.Peers = item.Peers - item.Seeders; // Use peers as leechers
return item;
Tracker = indexer.DisplayName,
TrackerId = indexer.Id,
TrackerType = indexer.Type
});
}).OrderByDescending(d => d.PublishDate).ToList();

Expand Down Expand Up @@ -418,7 +415,7 @@ public async Task<IActionResult> Torznab([FromQuery] TorznabRequest request)
Link = new Uri(CurrentIndexer.SiteLink)
});

var proxiedReleases = result.Releases.Select(r => MapperUtil.Mapper.Map<ReleaseInfo>(r)).Select(r =>
var proxiedReleases = result.Releases.Select(r =>
{
r.Link = serverService.ConvertToProxyLink(r.Link, serverUrl, r.Origin.Id, "dl", r.Title);
r.Poster = serverService.ConvertToProxyLink(r.Poster, serverUrl, r.Origin.Id, "img", "poster");
Expand Down Expand Up @@ -502,9 +499,8 @@ public async Task<TorrentPotatoResponse> Potato([FromQuery] TorrentPotatoRequest
logger.Info($"Potato search in {CurrentIndexer.DisplayName} for {CurrentQuery.GetQueryString()} => Found {result.Releases.Count()} releases{cacheStr}");

var serverUrl = serverService.GetServerUrl(Request);
var potatoReleases = result.Releases.Where(r => r.Link != null || r.MagnetUri != null).Select(r =>
var potatoReleases = result.Releases.Where(r => r.Link != null || r.MagnetUri != null).Select(release =>
{
var release = MapperUtil.Mapper.Map<ReleaseInfo>(r);
release.Link = serverService.ConvertToProxyLink(release.Link, serverUrl, CurrentIndexer.Id, "dl", release.Title);
// Poster is not used in Potato response
//release.Poster = serverService.ConvertToProxyLink(release.Poster, serverUrl, CurrentIndexer.Id, "img", "poster");
Expand All @@ -523,7 +519,7 @@ public async Task<TorrentPotatoResponse> Potato([FromQuery] TorrentPotatoRequest
size = (long)release.Size / (1024 * 1024), // This is in MB
leechers = (release.Peers ?? -1) - (release.Seeders ?? 0),
seeders = release.Seeders ?? -1,
publish_date = r.PublishDate == DateTime.MinValue ? null : release.PublishDate.ToUniversalTime().ToString("s")
publish_date = release.PublishDate == DateTime.MinValue ? null : release.PublishDate.ToUniversalTime().ToString("s")
};
return item;
});
Expand Down
1 change: 0 additions & 1 deletion src/Jackett.Server/Jackett.Server.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@
<ItemGroup>
<PackageReference Include="Autofac" Version="6.5.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="AutoMapper" Version="10.1.1" />
<PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="Mono.Posix" Version="7.1.0-final.1.21458.1" />
<PackageReference Include="NLog" Version="5.1.1" />
Expand Down

0 comments on commit 57a4f6a

Please sign in to comment.