Update AutoMapper dependency (#12568)

This commit is contained in:
Diego Heras 2021-11-16 19:17:10 +01:00 committed by GitHub
parent cc749530de
commit 2b1f138d6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 36 additions and 50 deletions

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
@ -443,8 +442,8 @@ namespace Jackett.Common.Indexers
/// </summary>
/// <remarks>
/// 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.
/// </remarks>
protected virtual int NumberOfRetryAttempts
@ -706,7 +705,7 @@ namespace Jackett.Common.Indexers
Cookies = redirRequestCookies,
Encoding = Encoding
});
Mapper.Map(redirectedResponse, incomingResponse);
MapperUtil.Mapper.Map(redirectedResponse, incomingResponse);
}
}

View File

@ -12,7 +12,7 @@
<ItemGroup>
<PackageReference Include="AngleSharp" Version="0.14.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="FlareSolverrSharp" Version="2.0.0" />
<PackageReference Include="CommandLineParser" Version="2.8.0" />

View File

@ -3,11 +3,11 @@ using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using AutoMapper;
using Jackett.Common.Indexers;
using Jackett.Common.Models;
using Jackett.Common.Models.Config;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using NLog;
namespace Jackett.Common.Services
@ -129,7 +129,7 @@ namespace Jackett.Common.Services
{
foreach (var release in query.Results)
{
var item = Mapper.Map<TrackerCacheResult>(release);
var item = MapperUtil.Mapper.Map<TrackerCacheResult>(release);
item.FirstSeen = query.Created;
item.Tracker = trackerCache.TrackerName;
item.TrackerId = trackerCache.TrackerId;

View 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)))
: "";
});
}));
}
}

View File

@ -279,7 +279,7 @@ namespace Jackett.Server.Controllers
return searchResults.Select(result =>
{
var item = AutoMapper.Mapper.Map<TrackerCacheResult>(result);
var item = MapperUtil.Mapper.Map<TrackerCacheResult>(result);
item.Tracker = indexer.DisplayName;
item.TrackerId = indexer.Id;
item.Peers = item.Peers - item.Seeders; // Use peers as leechers
@ -411,7 +411,7 @@ namespace Jackett.Server.Controllers
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);
return r;
@ -496,7 +496,7 @@ namespace Jackett.Server.Controllers
var serverUrl = serverService.GetServerUrl(Request);
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);
// 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

View File

@ -1,11 +1,6 @@
using System.Linq;
using System.Text;
using Autofac;
using AutoMapper;
using Jackett.Common.Models;
using Jackett.Common.Models.Config;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils.Clients;
using Microsoft.AspNetCore.Hosting;
using NLog;
#if !NET461
@ -17,7 +12,6 @@ namespace Jackett.Server
public static class Helper
{
public static IContainer ApplicationContainer { get; set; }
private static bool _automapperInitialised = false;
#if NET461
public static IApplicationLifetime applicationLifetime;
@ -27,14 +21,6 @@ namespace Jackett.Server
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
ServerService.Initalize();
@ -67,31 +53,6 @@ namespace Jackett.Server
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) =>
builder?.RegisterInstance(LogManager.GetCurrentClassLogger()).SingleInstance();

View File

@ -55,7 +55,7 @@
<ItemGroup>
<PackageReference Include="Autofac" Version="5.2.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="NLog" Version="4.7.5" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.9.3" />