mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Update AutoMapper dependency (#12568)
This commit is contained in:
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using AutoMapper;
|
|
||||||
using Jackett.Common.Models;
|
using Jackett.Common.Models;
|
||||||
using Jackett.Common.Models.IndexerConfig;
|
using Jackett.Common.Models.IndexerConfig;
|
||||||
using Jackett.Common.Services.Interfaces;
|
using Jackett.Common.Services.Interfaces;
|
||||||
@@ -443,8 +442,8 @@ namespace Jackett.Common.Indexers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Number of retries can be overridden for unstable indexers by overriding this property. Note that retry attempts include an
|
/// Number of retries can be overridden for unstable indexers by overriding this property. Note that retry attempts include an
|
||||||
/// exponentially increasing delay.
|
/// exponentially increasing delay.
|
||||||
///
|
///
|
||||||
/// Alternatively, <see cref="EnableConfigurableRetryAttempts()" /> can be called in the constructor to add user configurable options.
|
/// Alternatively, <see cref="EnableConfigurableRetryAttempts()" /> can be called in the constructor to add user configurable options.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected virtual int NumberOfRetryAttempts
|
protected virtual int NumberOfRetryAttempts
|
||||||
@@ -706,7 +705,7 @@ namespace Jackett.Common.Indexers
|
|||||||
Cookies = redirRequestCookies,
|
Cookies = redirRequestCookies,
|
||||||
Encoding = Encoding
|
Encoding = Encoding
|
||||||
});
|
});
|
||||||
Mapper.Map(redirectedResponse, incomingResponse);
|
MapperUtil.Mapper.Map(redirectedResponse, incomingResponse);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="AngleSharp" Version="0.14.0" />
|
<PackageReference Include="AngleSharp" Version="0.14.0" />
|
||||||
<PackageReference Include="Autofac" Version="5.2.0" />
|
<PackageReference Include="Autofac" Version="5.2.0" />
|
||||||
<PackageReference Include="AutoMapper" Version="8.1.1" />
|
<PackageReference Include="AutoMapper" Version="10.1.1" />
|
||||||
<PackageReference Include="BencodeNET" Version="3.1.4" />
|
<PackageReference Include="BencodeNET" Version="3.1.4" />
|
||||||
<PackageReference Include="FlareSolverrSharp" Version="2.0.0" />
|
<PackageReference Include="FlareSolverrSharp" Version="2.0.0" />
|
||||||
<PackageReference Include="CommandLineParser" Version="2.8.0" />
|
<PackageReference Include="CommandLineParser" Version="2.8.0" />
|
||||||
|
@@ -3,11 +3,11 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AutoMapper;
|
|
||||||
using Jackett.Common.Indexers;
|
using Jackett.Common.Indexers;
|
||||||
using Jackett.Common.Models;
|
using Jackett.Common.Models;
|
||||||
using Jackett.Common.Models.Config;
|
using Jackett.Common.Models.Config;
|
||||||
using Jackett.Common.Services.Interfaces;
|
using Jackett.Common.Services.Interfaces;
|
||||||
|
using Jackett.Common.Utils;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
|
||||||
namespace Jackett.Common.Services
|
namespace Jackett.Common.Services
|
||||||
@@ -129,7 +129,7 @@ namespace Jackett.Common.Services
|
|||||||
{
|
{
|
||||||
foreach (var release in query.Results)
|
foreach (var release in query.Results)
|
||||||
{
|
{
|
||||||
var item = Mapper.Map<TrackerCacheResult>(release);
|
var item = MapperUtil.Mapper.Map<TrackerCacheResult>(release);
|
||||||
item.FirstSeen = query.Created;
|
item.FirstSeen = query.Created;
|
||||||
item.Tracker = trackerCache.TrackerName;
|
item.Tracker = trackerCache.TrackerName;
|
||||||
item.TrackerId = trackerCache.TrackerId;
|
item.TrackerId = trackerCache.TrackerId;
|
||||||
|
26
src/Jackett.Common/Utils/MapperUtil.cs
Normal file
26
src/Jackett.Common/Utils/MapperUtil.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
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)))
|
||||||
|
: "";
|
||||||
|
});
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
@@ -279,7 +279,7 @@ namespace Jackett.Server.Controllers
|
|||||||
|
|
||||||
return searchResults.Select(result =>
|
return searchResults.Select(result =>
|
||||||
{
|
{
|
||||||
var item = AutoMapper.Mapper.Map<TrackerCacheResult>(result);
|
var item = MapperUtil.Mapper.Map<TrackerCacheResult>(result);
|
||||||
item.Tracker = indexer.DisplayName;
|
item.Tracker = indexer.DisplayName;
|
||||||
item.TrackerId = indexer.Id;
|
item.TrackerId = indexer.Id;
|
||||||
item.Peers = item.Peers - item.Seeders; // Use peers as leechers
|
item.Peers = item.Peers - item.Seeders; // Use peers as leechers
|
||||||
@@ -411,7 +411,7 @@ namespace Jackett.Server.Controllers
|
|||||||
Link = new Uri(CurrentIndexer.SiteLink)
|
Link = new Uri(CurrentIndexer.SiteLink)
|
||||||
});
|
});
|
||||||
|
|
||||||
var proxiedReleases = result.Releases.Select(r => AutoMapper.Mapper.Map<ReleaseInfo>(r)).Select(r =>
|
var proxiedReleases = result.Releases.Select(r => MapperUtil.Mapper.Map<ReleaseInfo>(r)).Select(r =>
|
||||||
{
|
{
|
||||||
r.Link = serverService.ConvertToProxyLink(r.Link, serverUrl, r.Origin.Id, "dl", r.Title);
|
r.Link = serverService.ConvertToProxyLink(r.Link, serverUrl, r.Origin.Id, "dl", r.Title);
|
||||||
return r;
|
return r;
|
||||||
@@ -496,7 +496,7 @@ namespace Jackett.Server.Controllers
|
|||||||
var serverUrl = serverService.GetServerUrl(Request);
|
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(r =>
|
||||||
{
|
{
|
||||||
var release = AutoMapper.Mapper.Map<ReleaseInfo>(r);
|
var release = MapperUtil.Mapper.Map<ReleaseInfo>(r);
|
||||||
release.Link = serverService.ConvertToProxyLink(release.Link, serverUrl, CurrentIndexer.Id, "dl", release.Title);
|
release.Link = serverService.ConvertToProxyLink(release.Link, serverUrl, CurrentIndexer.Id, "dl", release.Title);
|
||||||
// IMPORTANT: We can't use Uri.ToString(), because it generates URLs without URL encode (links with unicode
|
// IMPORTANT: We can't use Uri.ToString(), because it generates URLs without URL encode (links with unicode
|
||||||
// characters are broken). We must use Uri.AbsoluteUri instead that handles encoding correctly
|
// characters are broken). We must use Uri.AbsoluteUri instead that handles encoding correctly
|
||||||
|
@@ -1,11 +1,6 @@
|
|||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using Autofac;
|
using Autofac;
|
||||||
using AutoMapper;
|
|
||||||
using Jackett.Common.Models;
|
|
||||||
using Jackett.Common.Models.Config;
|
using Jackett.Common.Models.Config;
|
||||||
using Jackett.Common.Services.Interfaces;
|
using Jackett.Common.Services.Interfaces;
|
||||||
using Jackett.Common.Utils.Clients;
|
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using NLog;
|
using NLog;
|
||||||
#if !NET461
|
#if !NET461
|
||||||
@@ -17,7 +12,6 @@ namespace Jackett.Server
|
|||||||
public static class Helper
|
public static class Helper
|
||||||
{
|
{
|
||||||
public static IContainer ApplicationContainer { get; set; }
|
public static IContainer ApplicationContainer { get; set; }
|
||||||
private static bool _automapperInitialised = false;
|
|
||||||
|
|
||||||
#if NET461
|
#if NET461
|
||||||
public static IApplicationLifetime applicationLifetime;
|
public static IApplicationLifetime applicationLifetime;
|
||||||
@@ -27,14 +21,6 @@ namespace Jackett.Server
|
|||||||
|
|
||||||
public static void Initialize()
|
public static void Initialize()
|
||||||
{
|
{
|
||||||
if (_automapperInitialised == false)
|
|
||||||
{
|
|
||||||
//Automapper only likes being initialized once per app domain.
|
|
||||||
//Since we can restart Jackett from the command line it's possible that we'll build the container more than once. (tests do this too)
|
|
||||||
InitAutomapper();
|
|
||||||
_automapperInitialised = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Load the indexers
|
//Load the indexers
|
||||||
ServerService.Initalize();
|
ServerService.Initalize();
|
||||||
|
|
||||||
@@ -67,31 +53,6 @@ namespace Jackett.Server
|
|||||||
|
|
||||||
public static Logger Logger => ApplicationContainer.Resolve<Logger>();
|
public static Logger Logger => ApplicationContainer.Resolve<Logger>();
|
||||||
|
|
||||||
private static void InitAutomapper()
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
// TODO: fix deprecation warning (remove #pragma to see the build warning)
|
|
||||||
Mapper.Initialize(cfg =>
|
|
||||||
{
|
|
||||||
cfg.CreateMap<WebResult, WebResult>();
|
|
||||||
|
|
||||||
cfg.CreateMap<ReleaseInfo, ReleaseInfo>();
|
|
||||||
|
|
||||||
cfg.CreateMap<ReleaseInfo, TrackerCacheResult>().AfterMap((r, t) =>
|
|
||||||
{
|
|
||||||
if (r.Category != null)
|
|
||||||
{
|
|
||||||
t.CategoryDesc = string.Join(", ", r.Category.Select(x => TorznabCatType.GetCatDesc(x)).Where(x => !string.IsNullOrEmpty(x)));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
t.CategoryDesc = "";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void SetupLogging(ContainerBuilder builder) =>
|
public static void SetupLogging(ContainerBuilder builder) =>
|
||||||
builder?.RegisterInstance(LogManager.GetCurrentClassLogger()).SingleInstance();
|
builder?.RegisterInstance(LogManager.GetCurrentClassLogger()).SingleInstance();
|
||||||
|
|
||||||
|
@@ -55,7 +55,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Autofac" Version="5.2.0" />
|
<PackageReference Include="Autofac" Version="5.2.0" />
|
||||||
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="6.0.0" />
|
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="6.0.0" />
|
||||||
<PackageReference Include="AutoMapper" Version="8.1.1" />
|
<PackageReference Include="AutoMapper" Version="10.1.1" />
|
||||||
<PackageReference Include="CommandLineParser" Version="2.8.0" />
|
<PackageReference Include="CommandLineParser" Version="2.8.0" />
|
||||||
<PackageReference Include="NLog" Version="4.7.5" />
|
<PackageReference Include="NLog" Version="4.7.5" />
|
||||||
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.3" />
|
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.3" />
|
||||||
|
Reference in New Issue
Block a user