Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/Readarr/commit/292aacc7662351d16d8b20b9ba6ca76912619234 You should set ROOT_URL correctly, otherwise the web may not work correctly.

New: Localization support on Health Checks

pull/1032/head
Robin Dadswell 4 years ago committed by ta264
parent a4755631c3
commit 292aacc766

@ -6,6 +6,7 @@ using NzbDrone.Common.Disk;
using NzbDrone.Core.Download;
using NzbDrone.Core.Download.Clients;
using NzbDrone.Core.HealthCheck.Checks;
using NzbDrone.Core.Localization;
using NzbDrone.Core.RootFolders;
using NzbDrone.Core.Test.Framework;
using NzbDrone.Test.Common;
@ -43,6 +44,10 @@ namespace NzbDrone.Core.Test.HealthCheck.Checks
_downloadClient.Setup(s => s.GetStatus())
.Returns(_clientStatus);
Mocker.GetMock<ILocalizationService>()
.Setup(s => s.GetLocalizedString(It.IsAny<string>()))
.Returns("Some Warning Message");
Mocker.GetMock<IProvideDownloadClient>()
.Setup(s => s.GetDownloadClients())
.Returns(new IDownloadClient[] { _downloadClient.Object });

@ -1,5 +1,6 @@
using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Localization;
namespace NzbDrone.Core.HealthCheck.Checks
{
@ -7,7 +8,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
private readonly IAppFolderInfo _appFolderInfo;
public AppDataLocationCheck(IAppFolderInfo appFolderInfo)
public AppDataLocationCheck(IAppFolderInfo appFolderInfo, ILocalizationService localizationService)
: base(localizationService)
{
_appFolderInfo = appFolderInfo;
}

@ -8,6 +8,7 @@ using NzbDrone.Common.Extensions;
using NzbDrone.Core.Books.Calibre;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Download.Clients;
using NzbDrone.Core.Localization;
using NzbDrone.Core.RemotePathMappings;
using NzbDrone.Core.RootFolders;
@ -27,7 +28,9 @@ namespace NzbDrone.Core.HealthCheck.Checks
IRootFolderService rootFolderService,
ICalibreProxy calibreProxy,
IOsInfo osInfo,
Logger logger)
Logger logger,
ILocalizationService localizationService)
: base(localizationService)
{
_diskProvider = diskProvider;
_rootFolderService = rootFolderService;

@ -2,6 +2,7 @@ using System;
using System.Linq;
using NLog;
using NzbDrone.Core.Download;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -15,7 +16,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IProvideDownloadClient _downloadClientProvider;
private readonly Logger _logger;
public DownloadClientCheck(IProvideDownloadClient downloadClientProvider, Logger logger)
public DownloadClientCheck(IProvideDownloadClient downloadClientProvider, Logger logger, ILocalizationService localizationService)
: base(localizationService)
{
_downloadClientProvider = downloadClientProvider;
_logger = logger;

@ -5,6 +5,7 @@ using NzbDrone.Common.Extensions;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Download;
using NzbDrone.Core.Download.Clients;
using NzbDrone.Core.Localization;
using NzbDrone.Core.RemotePathMappings;
using NzbDrone.Core.RootFolders;
using NzbDrone.Core.ThingiProvider.Events;
@ -25,7 +26,9 @@ namespace NzbDrone.Core.HealthCheck.Checks
public DownloadClientRootFolderCheck(IProvideDownloadClient downloadClientProvider,
IRootFolderService rootFolderService,
Logger logger)
Logger logger,
ILocalizationService localizationService)
: base(localizationService)
{
_downloadClientProvider = downloadClientProvider;
_rootFolderService = rootFolderService;
@ -47,7 +50,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
if (rootFolders.Any(r => r.Path.PathEquals(folder.FullPath)))
{
return new HealthCheck(GetType(), HealthCheckResult.Warning, $"Download client {client.Definition.Name} places downloads in the root folder {folder.FullPath}. You should not download to a root folder.", "#downloads_in_root_folder");
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("DownloadClientCheckDownloadingToRoot"), client.Definition.Name, folder.FullPath), "#downloads_in_root_folder");
}
}
}

@ -1,6 +1,7 @@
using System.Linq;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Download;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -13,7 +14,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IDownloadClientFactory _providerFactory;
private readonly IDownloadClientStatusService _providerStatusService;
public DownloadClientStatusCheck(IDownloadClientFactory providerFactory, IDownloadClientStatusService providerStatusService)
public DownloadClientStatusCheck(IDownloadClientFactory providerFactory, IDownloadClientStatusService providerStatusService, ILocalizationService localizationService)
: base(localizationService)
{
_providerFactory = providerFactory;
_providerStatusService = providerStatusService;

@ -1,6 +1,7 @@
using System;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Configuration.Events;
using NzbDrone.Core.Localization;
using NzbDrone.Core.Parser;
namespace NzbDrone.Core.HealthCheck.Checks
@ -12,7 +13,9 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IConfigService _configService;
public FpcalcCheck(IFingerprintingService fingerprintingService,
IConfigService configService)
IConfigService configService,
ILocalizationService localizationService)
: base(localizationService)
{
_fingerprintingService = fingerprintingService;
_configService = configService;

@ -1,6 +1,7 @@
using System.Linq;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.ImportLists;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -13,7 +14,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IImportListFactory _providerFactory;
private readonly IImportListStatusService _providerStatusService;
public ImportListStatusCheck(IImportListFactory providerFactory, IImportListStatusService providerStatusService)
public ImportListStatusCheck(IImportListFactory providerFactory, IImportListStatusService providerStatusService, ILocalizationService localizationService)
: base(localizationService)
{
_providerFactory = providerFactory;
_providerStatusService = providerStatusService;

@ -1,6 +1,7 @@
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Configuration.Events;
using NzbDrone.Core.Download;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -12,7 +13,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
private readonly IConfigService _configService;
public ImportMechanismCheck(IConfigService configService)
public ImportMechanismCheck(IConfigService configService, ILocalizationService localizationService)
: base(localizationService)
{
_configService = configService;
}

@ -2,6 +2,7 @@ using System;
using System.Linq;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -14,7 +15,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IIndexerFactory _providerFactory;
private readonly IIndexerStatusService _providerStatusService;
public IndexerLongTermStatusCheck(IIndexerFactory providerFactory, IIndexerStatusService providerStatusService)
public IndexerLongTermStatusCheck(IIndexerFactory providerFactory, IIndexerStatusService providerStatusService, ILocalizationService localizationService)
: base(localizationService)
{
_providerFactory = providerFactory;
_providerStatusService = providerStatusService;

@ -1,5 +1,6 @@
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -12,7 +13,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
private readonly IIndexerFactory _indexerFactory;
public IndexerRssCheck(IIndexerFactory indexerFactory)
public IndexerRssCheck(IIndexerFactory indexerFactory, ILocalizationService localizationService)
: base(localizationService)
{
_indexerFactory = indexerFactory;
}

@ -1,5 +1,6 @@
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -12,7 +13,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
private readonly IIndexerFactory _indexerFactory;
public IndexerSearchCheck(IIndexerFactory indexerFactory)
public IndexerSearchCheck(IIndexerFactory indexerFactory, ILocalizationService localizationService)
: base(localizationService)
{
_indexerFactory = indexerFactory;
}

@ -2,6 +2,7 @@ using System;
using System.Linq;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Indexers;
using NzbDrone.Core.Localization;
using NzbDrone.Core.ThingiProvider.Events;
namespace NzbDrone.Core.HealthCheck.Checks
@ -14,7 +15,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IIndexerFactory _providerFactory;
private readonly IIndexerStatusService _providerStatusService;
public IndexerStatusCheck(IIndexerFactory providerFactory, IIndexerStatusService providerStatusService)
public IndexerStatusCheck(IIndexerFactory providerFactory, IIndexerStatusService providerStatusService, ILocalizationService localizationService)
: base(localizationService)
{
_providerFactory = providerFactory;
_providerStatusService = providerStatusService;

@ -2,6 +2,7 @@ using System.Linq;
using NzbDrone.Common.Disk;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Books;
using NzbDrone.Core.Localization;
namespace NzbDrone.Core.HealthCheck.Checks
{
@ -10,7 +11,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IDiskProvider _diskProvider;
private readonly IAuthorService _authorService;
public MountCheck(IDiskProvider diskProvider, IAuthorService authorService)
public MountCheck(IDiskProvider diskProvider, IAuthorService authorService, ILocalizationService localizationService)
: base(localizationService)
{
_diskProvider = diskProvider;
_authorService = authorService;

@ -6,6 +6,7 @@ using NzbDrone.Common.Cloud;
using NzbDrone.Common.Http;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Configuration.Events;
using NzbDrone.Core.Localization;
namespace NzbDrone.Core.HealthCheck.Checks
{
@ -18,7 +19,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IHttpRequestBuilderFactory _cloudRequestBuilder;
public ProxyCheck(IReadarrCloudRequestBuilder cloudRequestBuilder, IConfigService configService, IHttpClient client, Logger logger)
public ProxyCheck(IReadarrCloudRequestBuilder cloudRequestBuilder, IConfigService configService, IHttpClient client, Logger logger, ILocalizationService localizationService)
: base(localizationService)
{
_configService = configService;
_client = client;

@ -9,6 +9,7 @@ using NzbDrone.Core.Configuration;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Download;
using NzbDrone.Core.Download.Clients;
using NzbDrone.Core.Localization;
using NzbDrone.Core.MediaFiles.Events;
using NzbDrone.Core.RemotePathMappings;
using NzbDrone.Core.ThingiProvider.Events;
@ -33,7 +34,9 @@ namespace NzbDrone.Core.HealthCheck.Checks
IProvideDownloadClient downloadClientProvider,
IConfigService configService,
IOsInfo osInfo,
Logger logger)
Logger logger,
ILocalizationService localizationService)
: base(localizationService)
{
_diskProvider = diskProvider;
_downloadClientProvider = downloadClientProvider;

@ -3,6 +3,7 @@ using NzbDrone.Common.Disk;
using NzbDrone.Core.Books;
using NzbDrone.Core.Books.Events;
using NzbDrone.Core.ImportLists;
using NzbDrone.Core.Localization;
using NzbDrone.Core.MediaFiles.Events;
using NzbDrone.Core.RootFolders;
@ -19,7 +20,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IDiskProvider _diskProvider;
private readonly IRootFolderService _rootFolderService;
public RootFolderCheck(IAuthorService authorService, IImportListFactory importListFactory, IDiskProvider diskProvider, IRootFolderService rootFolderService)
public RootFolderCheck(IAuthorService authorService, IImportListFactory importListFactory, IDiskProvider diskProvider, IRootFolderService rootFolderService, ILocalizationService localizationService)
: base(localizationService)
{
_authorService = authorService;
_importListFactory = importListFactory;

@ -3,6 +3,7 @@ using NLog;
using NzbDrone.Common.Cloud;
using NzbDrone.Common.Http;
using NzbDrone.Common.Serializer;
using NzbDrone.Core.Localization;
namespace NzbDrone.Core.HealthCheck.Checks
{
@ -12,7 +13,8 @@ namespace NzbDrone.Core.HealthCheck.Checks
private readonly IHttpRequestBuilderFactory _cloudRequestBuilder;
private readonly Logger _logger;
public SystemTimeCheck(IHttpClient client, IReadarrCloudRequestBuilder cloudRequestBuilder, Logger logger)
public SystemTimeCheck(IHttpClient client, IReadarrCloudRequestBuilder cloudRequestBuilder, Logger logger, ILocalizationService localizationService)
: base(localizationService)
{
_client = client;
_cloudRequestBuilder = cloudRequestBuilder.Services;

@ -5,6 +5,7 @@ using NzbDrone.Common.EnvironmentInfo;
using NzbDrone.Common.Extensions;
using NzbDrone.Core.Configuration;
using NzbDrone.Core.Configuration.Events;
using NzbDrone.Core.Localization;
using NzbDrone.Core.Update;
namespace NzbDrone.Core.HealthCheck.Checks
@ -22,7 +23,9 @@ namespace NzbDrone.Core.HealthCheck.Checks
IAppFolderInfo appFolderInfo,
ICheckUpdateService checkUpdateService,
IConfigFileProvider configFileProvider,
IOsInfo osInfo)
IOsInfo osInfo,
ILocalizationService localizationService)
: base(localizationService)
{
_diskProvider = diskProvider;
_appFolderInfo = appFolderInfo;

@ -1,7 +1,15 @@
using NzbDrone.Core.Localization;
namespace NzbDrone.Core.HealthCheck
{
public abstract class HealthCheckBase : IProvideHealthCheck
{
public readonly ILocalizationService _localizationService;
public HealthCheckBase(ILocalizationService localizationService)
{
_localizationService = localizationService;
}
public abstract HealthCheck Check();
public virtual bool CheckOnStartup => true;

@ -176,6 +176,7 @@
"DiskSpace": "Disk Space",
"Docker": "Docker",
"DownloadClient": "Download Client",
"DownloadClientCheckDownloadingToRoot": "Download client {0} places downloads in the root folder {1}. You should not download to a root folder.",
"DownloadClientSettings": "Download Client Settings",
"DownloadClients": "Download Clients",
"DownloadFailedCheckDownloadClientForMoreDetails": "Download failed: check download client for more details",

Loading…
Cancel
Save