mirror of https://github.com/Jackett/Jackett
core: remove automapper
Co-authored-by: ngosang <ngosang@hotmail.es>
This commit is contained in:
parent
dc58f07811
commit
4752dcdda4
|
@ -661,7 +661,7 @@ namespace Jackett.Common.Indexers
|
|||
break;
|
||||
}
|
||||
|
||||
await DoFollowIfRedirect(response, referrer, overrideRedirectUrl, overrideCookies, accumulateCookies);
|
||||
response = await DoFollowIfRedirect(response, referrer, overrideRedirectUrl, overrideCookies, accumulateCookies);
|
||||
|
||||
if (accumulateCookies)
|
||||
{
|
||||
|
@ -701,7 +701,7 @@ namespace Jackett.Common.Indexers
|
|||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
@ -722,8 +722,11 @@ namespace Jackett.Common.Indexers
|
|||
Cookies = redirRequestCookies,
|
||||
Encoding = Encoding
|
||||
});
|
||||
MapperUtil.Mapper.Map(redirectedResponse, incomingResponse);
|
||||
|
||||
return redirectedResponse;
|
||||
}
|
||||
|
||||
return incomingResponse;
|
||||
}
|
||||
|
||||
protected List<string> GetAllTrackerCategories() =>
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<PackageReference Include="AngleSharp" Version="1.1.2" />
|
||||
<PackageReference Include="AngleSharp.Xml" Version="1.0.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.7" />
|
||||
<PackageReference Include="CommandLineParser" Version="2.9.1" />
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Jackett.Common.Models
|
||||
{
|
||||
|
@ -10,5 +11,52 @@ namespace Jackett.Common.Models
|
|||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ namespace Jackett.Common.Services
|
|||
var trackerCacheQuery = new TrackerCacheQuery
|
||||
{
|
||||
Created = DateTime.Now,
|
||||
Results = releases
|
||||
Results = releases.Select(r => (ReleaseInfo)r.Clone()).ToList()
|
||||
};
|
||||
|
||||
var trackerCache = _cache[indexer.Id];
|
||||
|
@ -123,27 +123,23 @@ namespace Jackett.Common.Services
|
|||
|
||||
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();
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
using System.Linq;
|
||||
using AutoMapper;
|
||||
using Jackett.Common.Models;
|
||||
using Jackett.Common.Utils.Clients;
|
||||
|
||||
namespace Jackett.Common.Utils
|
||||
{
|
||||
public static class MapperUtil
|
||||
{
|
||||
public static Mapper Mapper = new Mapper(
|
||||
new MapperConfiguration(
|
||||
cfg =>
|
||||
{
|
||||
cfg.CreateMap<WebResult, WebResult>();
|
||||
|
||||
cfg.CreateMap<ReleaseInfo, ReleaseInfo>();
|
||||
|
||||
cfg.CreateMap<ReleaseInfo, TrackerCacheResult>().AfterMap((r, t) =>
|
||||
{
|
||||
t.CategoryDesc = r.Category != null
|
||||
? string.Join(", ", r.Category.Select(x => TorznabCatType.GetCatDesc(x)).Where(x => !string.IsNullOrEmpty(x)))
|
||||
: "";
|
||||
});
|
||||
}));
|
||||
}
|
||||
}
|
|
@ -308,14 +308,11 @@ namespace Jackett.Server.Controllers
|
|||
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.Name;
|
||||
item.TrackerId = indexer.Id;
|
||||
item.TrackerType = indexer.Type;
|
||||
item.Peers = item.Peers - item.Seeders; // Use peers as leechers
|
||||
return item;
|
||||
Tracker = indexer.Name,
|
||||
TrackerId = indexer.Id,
|
||||
TrackerType = indexer.Type
|
||||
});
|
||||
}).OrderByDescending(d => d.PublishDate).ToList();
|
||||
|
||||
|
@ -447,7 +444,7 @@ namespace Jackett.Server.Controllers
|
|||
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");
|
||||
|
@ -568,9 +565,8 @@ namespace Jackett.Server.Controllers
|
|||
logger.Info($"Potato search in {CurrentIndexer.Name} 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");
|
||||
|
@ -589,7 +585,7 @@ namespace Jackett.Server.Controllers
|
|||
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;
|
||||
});
|
||||
|
|
|
@ -55,7 +55,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.2" />
|
||||
|
|
Loading…
Reference in New Issue