mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-04-17 21:44:48 -04:00
Compare commits
26 Commits
v1.33.0.49
...
v1.34.0.50
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
075fd24f96 | ||
|
|
4ba72ea7f3 | ||
|
|
46f73c51bb | ||
|
|
3287d45661 | ||
|
|
71937fa44c | ||
|
|
6aefd46cd4 | ||
|
|
c8370c9e00 | ||
|
|
6be4203b41 | ||
|
|
1339373e43 | ||
|
|
fc9dfb0cf7 | ||
|
|
48301055ea | ||
|
|
8a9518c9c1 | ||
|
|
de099c6770 | ||
|
|
07711da4e0 | ||
|
|
7cb70716d0 | ||
|
|
548dedad5c | ||
|
|
7008626358 | ||
|
|
f6f2a3b00d | ||
|
|
2b16d93095 | ||
|
|
e63ee13d23 | ||
|
|
5c5a163151 | ||
|
|
023eec0ec0 | ||
|
|
5bc5f0e6b8 | ||
|
|
5cbacc01eb | ||
|
|
f4f1b38324 | ||
|
|
758dddd4ad |
@@ -9,7 +9,7 @@ variables:
|
||||
testsFolder: './_tests'
|
||||
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
||||
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
||||
majorVersion: '1.33.0'
|
||||
majorVersion: '1.34.0'
|
||||
minorVersion: $[counter('minorVersion', 1)]
|
||||
prowlarrVersion: '$(majorVersion).$(minorVersion)'
|
||||
buildName: '$(Build.SourceBranchName).$(prowlarrVersion)'
|
||||
@@ -19,7 +19,7 @@ variables:
|
||||
nodeVersion: '20.X'
|
||||
innoVersion: '6.2.2'
|
||||
windowsImage: 'windows-2022'
|
||||
linuxImage: 'ubuntu-20.04'
|
||||
linuxImage: 'ubuntu-22.04'
|
||||
macImage: 'macOS-13'
|
||||
|
||||
trigger:
|
||||
|
||||
2
docs.sh
2
docs.sh
@@ -38,7 +38,7 @@ dotnet clean $slnFile -c Release
|
||||
dotnet msbuild -restore $slnFile -p:Configuration=Debug -p:Platform=$platform -p:RuntimeIdentifiers=$RUNTIME -t:PublishAllRids
|
||||
|
||||
dotnet new tool-manifest
|
||||
dotnet tool install --version 6.6.2 Swashbuckle.AspNetCore.Cli
|
||||
dotnet tool install --version 7.3.2 Swashbuckle.AspNetCore.Cli
|
||||
|
||||
dotnet tool run swagger tofile --output ./src/Prowlarr.Api.V1/openapi.json "$outputFolder/$FRAMEWORK/$RUNTIME/$application" v1 &
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Selenium.Support" Version="4.1.0" />
|
||||
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="99.0.4844.5100" />
|
||||
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="134.0.6998.16500" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Test.Common\Prowlarr.Test.Common.csproj" />
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NLog;
|
||||
using NzbDrone.Common.EnvironmentInfo;
|
||||
using NzbDrone.Common.Model;
|
||||
@@ -117,7 +118,9 @@ namespace NzbDrone.Common.Processes
|
||||
UseShellExecute = false,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true,
|
||||
RedirectStandardInput = true
|
||||
RedirectStandardInput = true,
|
||||
StandardOutputEncoding = Encoding.UTF8,
|
||||
StandardErrorEncoding = Encoding.UTF8
|
||||
};
|
||||
|
||||
if (environmentVariables != null)
|
||||
|
||||
@@ -5,21 +5,21 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
|
||||
<PackageReference Include="IPAddressRange" Version="6.1.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.2" />
|
||||
<PackageReference Include="IPAddressRange" Version="6.2.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.3" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="NLog.Layouts.ClefJsonLayout" Version="1.0.3" />
|
||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.4.0" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.9" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.10" />
|
||||
<PackageReference Include="Sentry" Version="4.0.2" />
|
||||
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
|
||||
<PackageReference Include="SharpZipLib" Version="1.4.2" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.10" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.11" />
|
||||
<PackageReference Include="System.ValueTuple" Version="4.6.1" />
|
||||
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.1" />
|
||||
<PackageReference Include="System.Configuration.ConfigurationManager" Version="6.0.2" />
|
||||
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
|
||||
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" />
|
||||
<PackageReference Include="System.ServiceProcess.ServiceController" Version="6.0.1" />
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace NzbDrone.Core.Test.IndexerTests.AvistazTests
|
||||
torrentInfo.InfoUrl.Should().Be("https://avistaz.to/torrent/187240-japan-sinks-people-of-hope-2021-s01e05-720p-nf-web-dl-ddp20-x264-seikel");
|
||||
torrentInfo.CommentUrl.Should().BeNullOrEmpty();
|
||||
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2021-11-14 22:26:21"));
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2021-11-14 21:26:21"));
|
||||
torrentInfo.Size.Should().Be(935127615);
|
||||
torrentInfo.InfoHash.Should().Be("a879261d4e6e792402f92401141a21de70d51bf2");
|
||||
torrentInfo.MagnetUrl.Should().Be(null);
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace NzbDrone.Core.Test.IndexerTests.AvistazTests
|
||||
torrentInfo.InfoUrl.Should().Be("https://exoticaz.to/torrent/64040-ssis-419-my-first-experience-is-yua-mikami-from-the-day-i-lost-my-virginity-i-was-devoted-to-sex");
|
||||
torrentInfo.CommentUrl.Should().BeNullOrEmpty();
|
||||
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2022-06-11 10:04:50"));
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2022-06-11 09:04:50"));
|
||||
torrentInfo.Size.Should().Be(7085405541);
|
||||
torrentInfo.InfoHash.Should().Be("asdjfiasdf54asd7f4a2sdf544asdf");
|
||||
torrentInfo.MagnetUrl.Should().Be(null);
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace NzbDrone.Core.Test.IndexerTests.AvistazTests
|
||||
torrentInfo.InfoUrl.Should().Be("https://privatehd.to/torrent/78506-godzilla-2014-2160p-uhd-bluray-remux-hdr-hevc-atmos-triton");
|
||||
torrentInfo.CommentUrl.Should().BeNullOrEmpty();
|
||||
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2021-03-21 05:24:49"));
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2021-03-21 04:24:49"));
|
||||
torrentInfo.Size.Should().Be(69914591044);
|
||||
torrentInfo.InfoHash.Should().Be("a879261d4e6e792402f92401141a21de70d51bf2");
|
||||
torrentInfo.MagnetUrl.Should().Be(null);
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests
|
||||
torrentInfo.InfoUrl.Should().Be("https://filelist.io/details.php?id=665873");
|
||||
torrentInfo.CommentUrl.Should().BeNullOrEmpty();
|
||||
torrentInfo.Indexer.Should().Be(Subject.Definition.Name);
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2020-01-25 20:20:19"));
|
||||
torrentInfo.PublishDate.Should().Be(DateTime.Parse("2020-01-25 19:20:19"));
|
||||
torrentInfo.Size.Should().Be(8300512414);
|
||||
torrentInfo.InfoHash.Should().Be(null);
|
||||
torrentInfo.MagnetUrl.Should().Be(null);
|
||||
|
||||
@@ -254,7 +254,7 @@ namespace NzbDrone.Core.Datastore
|
||||
|
||||
protected void Delete(SqlBuilder builder)
|
||||
{
|
||||
var sql = builder.AddDeleteTemplate(typeof(TModel)).LogQuery();
|
||||
var sql = builder.AddDeleteTemplate(typeof(TModel));
|
||||
|
||||
using (var conn = _database.OpenConnection())
|
||||
{
|
||||
|
||||
@@ -224,7 +224,7 @@ namespace NzbDrone.Core.History
|
||||
|
||||
if (message.Release.PublishDate != DateTime.MinValue)
|
||||
{
|
||||
history.Data.Add("PublishedDate", message.Release.PublishDate.ToString("s") + "Z");
|
||||
history.Data.Add("PublishedDate", message.Release.PublishDate.ToUniversalTime().ToString("s") + "Z");
|
||||
}
|
||||
|
||||
_historyRepository.Insert(history);
|
||||
|
||||
@@ -232,7 +232,7 @@ namespace NzbDrone.Core.Indexers.Definitions
|
||||
if (queryCats.Any() && searchCriteria is TvSearchCriteria { Season: > 0 })
|
||||
{
|
||||
// Avoid searching for specials if it's a non-zero season search
|
||||
queryCats.RemoveAll(cat => cat is "anime[tv_special]" or "anime[ova]" or "anime[ona]" or "anime[dvd_special]" or "anime[bd_special]");
|
||||
queryCats.RemoveAll(cat => cat is "anime[tv_special]" or "anime[ova]" or "anime[dvd_special]" or "anime[bd_special]");
|
||||
}
|
||||
|
||||
if (queryCats.Any())
|
||||
|
||||
@@ -84,6 +84,6 @@ namespace NzbDrone.Core.Indexers.Definitions
|
||||
|
||||
public class AvistaZParser : AvistazParserBase
|
||||
{
|
||||
protected override string TimezoneOffset => "+01:00";
|
||||
protected override string TimezoneOffset => "+02:00";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace NzbDrone.Core.Indexers.Definitions.Avistaz
|
||||
{
|
||||
public class AvistazParserBase : IParseIndexerResponse
|
||||
{
|
||||
protected virtual string TimezoneOffset => "-05:00"; // Avistaz does not specify a timezone & returns server time
|
||||
protected virtual string TimezoneOffset => "-04:00"; // Avistaz does not specify a timezone & returns server time
|
||||
private readonly HashSet<string> _hdResolutions = new () { "1080p", "1080i", "720p" };
|
||||
|
||||
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace NzbDrone.Core.Indexers.Definitions
|
||||
{
|
||||
private readonly IndexerCapabilitiesCategories _categories;
|
||||
|
||||
protected override string TimezoneOffset => "+01:00";
|
||||
protected override string TimezoneOffset => "+02:00";
|
||||
|
||||
public ExoticaZParser(IndexerCapabilitiesCategories categories)
|
||||
{
|
||||
|
||||
@@ -77,7 +77,7 @@ public class FileListParser : IParseIndexerResponse
|
||||
InfoUrl = GetInfoUrl(id),
|
||||
Seeders = row.Seeders,
|
||||
Peers = row.Leechers + row.Seeders,
|
||||
PublishDate = DateTime.Parse(row.UploadDate + " +0200", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
|
||||
PublishDate = DateTime.Parse(row.UploadDate + " +0300", CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal),
|
||||
Description = row.SmallDescription,
|
||||
Genres = row.SmallDescription.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries).ToList(),
|
||||
ImdbId = imdbId,
|
||||
|
||||
@@ -27,7 +27,7 @@ public class NorBits : TorrentIndexerBase<NorBitsSettings>
|
||||
public override string[] IndexerUrls => new[] { "https://norbits.net/" };
|
||||
public override string Description => "NorBits is a Norwegian Private site for MOVIES / TV / GENERAL";
|
||||
public override string Language => "nb-NO";
|
||||
public override Encoding Encoding => Encoding.GetEncoding("iso-8859-1");
|
||||
public override Encoding Encoding => Encoding.UTF8;
|
||||
public override IndexerPrivacy Privacy => IndexerPrivacy.Private;
|
||||
public override IndexerCapabilities Capabilities => SetCapabilities();
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ namespace NzbDrone.Core.Indexers.Definitions.PassThePopcorn
|
||||
// skip non-freeleech results when freeleech only is set
|
||||
var downloadVolumeFactor = torrent.FreeleechType?.ToUpperInvariant() switch
|
||||
{
|
||||
"FREELEECH" => 0,
|
||||
"FREELEECH" or "NEUTRAL LEECH" => 0,
|
||||
"HALF LEECH" => 0.5,
|
||||
_ => 1
|
||||
};
|
||||
@@ -91,6 +91,12 @@ namespace NzbDrone.Core.Indexers.Definitions.PassThePopcorn
|
||||
categories.Add(NewznabStandardCategory.TV);
|
||||
}
|
||||
|
||||
var uploadVolumeFactor = torrent.FreeleechType?.ToUpperInvariant() switch
|
||||
{
|
||||
"NEUTRAL LEECH" => 0,
|
||||
_ => 1
|
||||
};
|
||||
|
||||
torrentInfos.Add(new TorrentInfo
|
||||
{
|
||||
Guid = $"PassThePopcorn-{id}",
|
||||
@@ -108,7 +114,7 @@ namespace NzbDrone.Core.Indexers.Definitions.PassThePopcorn
|
||||
Scene = torrent.Scene,
|
||||
IndexerFlags = flags,
|
||||
DownloadVolumeFactor = downloadVolumeFactor,
|
||||
UploadVolumeFactor = 1,
|
||||
UploadVolumeFactor = uploadVolumeFactor,
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 345600,
|
||||
Genres = result.Tags ?? new List<string>(),
|
||||
|
||||
@@ -20,7 +20,7 @@ public class SecretCinema : GazelleBase<GazelleSettings>
|
||||
{
|
||||
public override string Name => "Secret Cinema";
|
||||
public override string[] IndexerUrls => new[] { "https://secret-cinema.pw/" };
|
||||
public override string Description => "A tracker for rare movies.";
|
||||
public override string Description => "Secret Cinema is a Private ratioless site for rare MOVIES.";
|
||||
public override IndexerPrivacy Privacy => IndexerPrivacy.Private;
|
||||
public override IndexerCapabilities Capabilities => SetCapabilities();
|
||||
|
||||
@@ -151,7 +151,7 @@ public class SecretCinemaParser : IParseIndexerResponse
|
||||
|
||||
if (torrent.RemasterTitle.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
release.Title += $" [{torrent.RemasterTitle.Trim()}]";
|
||||
release.Title += $" [{WebUtility.HtmlDecode(torrent.RemasterTitle).Trim()}]";
|
||||
}
|
||||
|
||||
// Replace media formats with standards
|
||||
|
||||
@@ -387,5 +387,35 @@
|
||||
"Label": "Етикет",
|
||||
"Categories": "Категории",
|
||||
"Album": "албум",
|
||||
"Artist": "изпълнител"
|
||||
"Artist": "изпълнител",
|
||||
"AddConnection": "Добави връзка",
|
||||
"AddConnectionImplementation": "Добави връзка - {implementationName}",
|
||||
"AddDownloadClientImplementation": "Добави клиент за изтегляне - {implementationName}",
|
||||
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "Потвърдете новата парола",
|
||||
"Default": "Подразбиране",
|
||||
"Any": "Всеки",
|
||||
"ApplicationUrlHelpText": "Външният URL адрес на това приложение, включително http(s)://, порт и основно URL",
|
||||
"Database": "База данни",
|
||||
"Destination": "Дестинация",
|
||||
"DownloadClientAriaSettingsDirectoryHelpText": "Незадължително локация за изтеглянията, оставете празно, за да използвате локацията по подразбиране на Aria2",
|
||||
"DownloadClientDelugeSettingsUrlBaseHelpText": "Добавя префикс към url адреса на deluge json, вижте {url}",
|
||||
"Directory": "Директория",
|
||||
"AddIndexerImplementation": "Добави индексатор - {implementationName}",
|
||||
"AuthenticationRequiredHelpText": "Променете за кои заявки се изисква удостоверяване. Не променяйте, освен ако не разбирате рисковете.",
|
||||
"AuthenticationRequiredPasswordHelpTextWarning": "Въведете нова парола",
|
||||
"DownloadClientDownloadStationSettingsDirectoryHelpText": "Незадължителна споделена папка, в която да се поставят изтеглянията, оставете празно, за да използвате местоположението по подразбиране на Download Station",
|
||||
"DownloadClientFloodSettingsAdditionalTags": "Допълнителни тагове",
|
||||
"DownloadClientFloodSettingsAdditionalTagsHelpText": "Добавя свойствата на медията като тагове. Напътствията са примери.",
|
||||
"DownloadClientFloodSettingsTagsHelpText": "Първоначални тагове на изтегляне. За да бъде разпознато едно изтегляне, то трябва да има всички начални тагове. По този начин се избягват конфликти с необвързани с приложение изтегляния.",
|
||||
"ApplicationURL": "URL адрес на приложението",
|
||||
"AuthenticationRequired": "Изисква се удостоверяване",
|
||||
"ApplyChanges": "Прилагане на промените",
|
||||
"ApiKeyValidationHealthCheckMessage": "Моля, актуализирайте API ключа си така, че да съдържа поне {length} знака. Можете да направите това чрез настройките или конфигурационния файл",
|
||||
"AppUpdated": "{appName} Актуализиран",
|
||||
"AppUpdatedVersion": "{appName} е актуализиранa до версия `{version}`, за да получите най-новите промени, ще трябва да презаредите {appName}",
|
||||
"Donate": "Дарете",
|
||||
"AddCustomFilter": "Добави персонализиран филтър",
|
||||
"AuthenticationMethod": "Метод за удостоверяване",
|
||||
"AuthenticationMethodHelpTextWarning": "Моля, изберете валиден метод за удостоверяване",
|
||||
"BlackholeFolderHelpText": "Папка, в която {appName} ще съхранява файла {extension}"
|
||||
}
|
||||
|
||||
@@ -501,5 +501,16 @@
|
||||
"WouldYouLikeToRestoreBackup": "Voleu restaurar la còpia de seguretat '{name}'?",
|
||||
"InstallLatest": "Instal·la l'últim",
|
||||
"CurrentlyInstalled": "Instal·lat actualment",
|
||||
"DownloadClientSettingsAddPaused": "Afegeix pausats"
|
||||
"DownloadClientSettingsAddPaused": "Afegeix pausats",
|
||||
"Install": "Instal·la",
|
||||
"DownloadClientFloodSettingsAdditionalTags": "Etiquetes addicionals",
|
||||
"DownloadClientFreeboxSettingsApiUrl": "URL de l'API",
|
||||
"DownloadClientFreeboxSettingsAppId": "Identificador de l'aplicació",
|
||||
"PreviouslyInstalled": "Instal·lat anteriorment",
|
||||
"PasswordConfirmation": "Confirmeu la contrasenya",
|
||||
"IndexerHDBitsSettingsOriginsHelpText": "Si no s'especifica, s'utilitzen totes les opcions.",
|
||||
"MinimumSeeders": "Seeders mínims",
|
||||
"SeedRatio": "Ràtio de la llavor",
|
||||
"ApplicationSettingsSyncRejectBlocklistedTorrentHashesHelpText": "Si un torrent està bloquejat per un hash, pot ser que no es rebutgi correctament durant el RSS/Search per a alguns indexadors, habilitant això permetrà que es rebutgi després que s'agafi el torrent, però abans que s'enviï al client.",
|
||||
"SeedTime": "Temps de la llavor"
|
||||
}
|
||||
|
||||
@@ -633,5 +633,11 @@
|
||||
"IndexerAvistazSettingsFreeleechOnlyHelpText": "Hledat pouze freeleech vydání",
|
||||
"InitialFailure": "Úvodní selhání",
|
||||
"IndexerTorrentSyndikatSettingsApiKeyHelpText": "Klíč API stránky",
|
||||
"SearchTypes": "Hledat typy"
|
||||
"SearchTypes": "Hledat typy",
|
||||
"NotificationTriggersHelpText": "Vyber, které události mají vyvolat toto upozornění",
|
||||
"IndexerSettingsBaseUrl": "Základní URL",
|
||||
"DownloadClientUTorrentProviderMessage": "uTorrent má historii zahrnování kryptoměnových těžařů, malwaru a reklam, důrazně vám doporučujeme zvolit jiného klienta.",
|
||||
"IndexerSettingsBaseUrlHelpText": "Vyberte, jakou základní URL bude {appName} používat pro požadavky na web",
|
||||
"IndexerSettingsPackSeedTimeIndexerHelpText": "Doba, po kterou by měl být balíček (sezóna nebo diskografie) torrentu seedován před zastavením, prázdné pole znamená výchozí nastavení aplikace",
|
||||
"PackSeedTimeHelpText": "Doba, po kterou by měl být balíček (sezóna nebo diskografie) torrentu seedován před zastavením, prázdné pole znamená výchozí nastavení aplikace"
|
||||
}
|
||||
|
||||
@@ -806,5 +806,6 @@
|
||||
"InstallMajorVersionUpdateMessageLink": "Por favor revisa [{domain}]({url}) para más información.",
|
||||
"FailedToFetchSettings": "Error al recuperar la configuración",
|
||||
"CurrentlyInstalled": "Actualmente instalado",
|
||||
"PreviouslyInstalled": "Previamente instalado"
|
||||
"PreviouslyInstalled": "Previamente instalado",
|
||||
"DownloadClientUTorrentProviderMessage": "uTorrent tiene un amplio historial de incluir criptomineros, malware y publicidad, por lo que recomendamos encarecidamente que elijas un cliente diferente."
|
||||
}
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
{
|
||||
"ApiKey": "کلید API",
|
||||
"NetCore": ".NET"
|
||||
"NetCore": ".NET",
|
||||
"Add": "افزودن",
|
||||
"About": "درباره",
|
||||
"Actions": "اقدامات",
|
||||
"Docker": "Docker",
|
||||
"AddConnection": "افزودن پیوند",
|
||||
"AddConnectionImplementation": "افزودن پیوند - {implementationName}",
|
||||
"AddDownloadClientImplementation": "افزودن کلاینت دانلود - {implementationName}",
|
||||
"Torrents": "تورنت ها",
|
||||
"Usenet": "Usenet"
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"Fixed": "Korjattu",
|
||||
"FocusSearchBox": "Kohdista hakukenttä",
|
||||
"ForMoreInformationOnTheIndividualDownloadClients": "Saat lisätietoja yksittäisistä latauspalveluista painamalla niiden ohessa olevia lisätietopainikkeita.",
|
||||
"HideAdvanced": "Piilota lisäasetukset",
|
||||
"HideAdvanced": "Laajenna asetukset",
|
||||
"History": "Historia",
|
||||
"MIA": "Puuttuu",
|
||||
"New": "Uutta",
|
||||
@@ -161,7 +161,7 @@
|
||||
"SendAnonymousUsageData": "Lähetä nimettömiä käyttötietoja",
|
||||
"SetTags": "Tunnisteiden määritys",
|
||||
"SettingsEnableColorImpairedMode": "Heikentyneen värinäön tila",
|
||||
"ShowAdvanced": "Näytä lisäasetukset",
|
||||
"ShowAdvanced": "Supista asetukset",
|
||||
"ShowSearchHelpText": "Näytä hakupainike osoitettaessa.",
|
||||
"Shutdown": "Sammuta",
|
||||
"Size": "Koko",
|
||||
@@ -715,8 +715,8 @@
|
||||
"UpdaterLogFiles": "Päivittäjän lokitiedostot",
|
||||
"WouldYouLikeToRestoreBackup": "Haluatko palauttaa varmuuskopion \"{name}\"?",
|
||||
"InstallLatest": "Asenna uusin",
|
||||
"CurrentlyInstalled": "Nyt asennettu",
|
||||
"PreviouslyInstalled": "Aiemmin asennettu",
|
||||
"CurrentlyInstalled": "Käytössä oleva versio",
|
||||
"PreviouslyInstalled": "Aiemmin käytössä ollut versio",
|
||||
"Mixed": "Sekoitettu",
|
||||
"IndexerSettingsAppsMinimumSeeders": "Jakajien vähimmäismäärä",
|
||||
"FailedToFetchSettings": "Asetusten nouto epäonnistui",
|
||||
|
||||
@@ -806,5 +806,6 @@
|
||||
"IndexerSettingsPreferMagnetUrl": "URL de préférence Magnet",
|
||||
"IndexerPassThePopcornSettingsGoldenPopcornOnly": "Popcorn doré uniquement",
|
||||
"IndexerPassThePopcornSettingsGoldenPopcornOnlyHelpText": "Rechercher uniquement les versions Golden Popcorn",
|
||||
"IndexerAvistazSettingsUsernameHelpTextWarning": "Seuls les membres de rang et supérieur peuvent utiliser l'API sur cet indexeur."
|
||||
"IndexerAvistazSettingsUsernameHelpTextWarning": "Seuls les membres de rang et supérieur peuvent utiliser l'API sur cet indexeur.",
|
||||
"DownloadClientUTorrentProviderMessage": "uTorrent a un historique d'inclusion de cryptomineurs, de logiciels malveillants et de publicités. Nous vous recommandons fortement de choisir un autre client."
|
||||
}
|
||||
|
||||
@@ -423,5 +423,88 @@
|
||||
"minutes": "분",
|
||||
"Author": "저작자",
|
||||
"Categories": "카테고리",
|
||||
"SeedRatio": "종자 비율"
|
||||
"SeedRatio": "종자 비율",
|
||||
"AuthenticationRequiredHelpText": "필수 인증을 요청하는 변경 사항. 위험을 이해하지 못한다면 변경하지 마세요.",
|
||||
"DownloadClientFloodSettingsAdditionalTagsHelpText": "미디어의 속성을 태그로 추가합니다. 힌트는 예시입니다.",
|
||||
"DownloadClientRTorrentSettingsAddStoppedHelpText": "활성화하면 rTorrent에 정지된 상태에서 토런트와 마그넷이 추가됩니다. 마그넷 파일이 손상될 수 있습니다.",
|
||||
"HealthMessagesInfoBox": "행 끝에 있는 위키 링크(책 아이콘)를 클릭하거나 [로그]({link})를 확인하면 이러한 상태 점검 메시지의 원인에 대한 상세 정보를 찾을 수 있습니다. 이러한 메시지를 해석하는 데 어려움이 있는 경우 아래 링크에서 지원팀에 문의할 수 있습니다.",
|
||||
"DownloadClientSettingsDestinationHelpText": "다운로드 대상을 수동으로 지정하고 기본값을 사용하려면 비워두세요.",
|
||||
"DownloadClientSettingsInitialStateHelpText": "{clientName}에 추가된 토런트의 초기 상태",
|
||||
"IndexerSettingsAdditionalParameters": "매개 변수 추가",
|
||||
"NoEventsFound": "이벤트가 없음",
|
||||
"BlackholeFolderHelpText": "{appName}가 {extension} 파일을 저장할 폴더",
|
||||
"DownloadClientSettingsUrlBaseHelpText": "{clientName} url에 {url}과 같은 접두사를 추가합니다.",
|
||||
"DownloadClientQbittorrentSettingsContentLayout": "콘텐츠 레이아웃",
|
||||
"Install": "설치",
|
||||
"AuthenticationRequiredPasswordConfirmationHelpTextWarning": "새 비밀번호 확인",
|
||||
"FailedToFetchSettings": "설정을 가져오는데 실패함",
|
||||
"Default": "기본값",
|
||||
"Episode": "에피소드",
|
||||
"AuthenticationMethod": "인증 방법",
|
||||
"IndexerSettingsSeedRatio": "시드 비율",
|
||||
"Destination": "대상",
|
||||
"DownloadClientFreeboxSettingsAppToken": "앱 토큰",
|
||||
"Logout": "로그아웃",
|
||||
"DownloadClientFreeboxSettingsApiUrl": "API 주소",
|
||||
"IndexerHDBitsSettingsCodecs": "코덱",
|
||||
"WhatsNew": "새로운 소식?",
|
||||
"DownloadClientFreeboxSettingsPortHelpText": "Freebox 인터페이스에 액세스하는 데 사용되는 포트, 기본값은 '{port}'",
|
||||
"DownloadClientPneumaticSettingsStrmFolderHelpText": "이 폴더의 .strm 파일은 드론으로 가져옵니다.",
|
||||
"DownloadClientQbittorrentSettingsInitialStateHelpText": "qBittorrent에 추가된 토렌트의 초기 상태입니다. 강제 토렌트는 시드 제한을 따르지 않는다는 점에 유의하세요.",
|
||||
"DownloadClientRTorrentSettingsDirectoryHelpText": "다운로드를 넣을 선택 위치, 기본 rTorrent 위치를 사용하려면 비워두세요.",
|
||||
"DownloadClientSettingsUseSslHelpText": "{clientName}에 연결할 때 보안 연결을 사용",
|
||||
"DownloadClientTransmissionSettingsUrlBaseHelpText": "{clientName} rpc URL에 접두사를 추가합니다(예: {url}, 기본값은 '{defaultUrl}')",
|
||||
"InstallMajorVersionUpdateMessageLink": "상세 내용은 [{domain}]({url})을 확인하세요.",
|
||||
"ApplicationUrlHelpText": "이 애플리케이션의 외부 URL - http(s)://, port 및 URL 기반 포함",
|
||||
"Theme": "테마",
|
||||
"ApplicationURL": "애플리케이션 URL",
|
||||
"Directory": "디렉토리",
|
||||
"DownloadClientDownloadStationSettingsDirectoryHelpText": "다운로드를 넣을 공유 폴더(선택 사항). 기본 다운로드 스테이션 위치를 사용하려면 비워두세요.",
|
||||
"DownloadClientFloodSettingsAdditionalTags": "추가 태그",
|
||||
"DownloadClientFloodSettingsUrlBaseHelpText": "{url}와 같은 Flood API에 접두사를 추가합니다",
|
||||
"DownloadClientFreeboxSettingsApiUrlHelpText": "API 버전을 사용하여 Freebox API 기본 URL을 정의하세요, 예를 들어 '{url}', 기본값은 '{defaultApiUrl}')",
|
||||
"DownloadClientFreeboxSettingsAppId": "앱 ID",
|
||||
"DownloadClientNzbgetSettingsAddPausedHelpText": "이 옵션을 사용하려면 최소한 NzbGet 버전 16.0이 필요합니다",
|
||||
"DownloadClientPneumaticSettingsNzbFolderHelpText": "이 폴더는 XBMC에서 접근할 수 있어야 합니다.",
|
||||
"DownloadClientRTorrentSettingsAddStopped": "중지됨 추가",
|
||||
"Category": "카테고리",
|
||||
"DownloadClientTransmissionSettingsDirectoryHelpText": "다운로드를 넣을 위치 (선택 사항), 기본 전송 위치를 사용하려면 비워두세요",
|
||||
"External": "외부",
|
||||
"IndexerSettingsSeedRatioHelpText": "토렌드가 멈추기 전에 도달해야 하는 비율, 비어 있을 경우 다운로드 클라이언트의 기본값을 사용합니다. 비율은 최소 1.0이어야 하며 인덱서 규칙을 따라야 합니다",
|
||||
"IndexerSettingsSeedTimeHelpText": "토렌드가 중지되기 전에 시드되어야 하는 시간, 비어 있을 경우 다운로드 클라이언트의 기본값을 사용합니다",
|
||||
"InvalidUILanguage": "UI가 잘못된 언어로 설정되어 있습니다, 수정하고 설정을 저장하세요",
|
||||
"AuthenticationRequired": "인증 필요",
|
||||
"NotificationsTelegramSettingsIncludeAppNameHelpText": "다른 애플리케이션의 알림을 구분하기 위해 메시지 제목 앞에 {appName}를 접두사로 사용 (선택 사항)",
|
||||
"PackageVersionInfo": "{packageVersion} by {packageAuthor}",
|
||||
"Duration": "기간",
|
||||
"Script": "스크립트",
|
||||
"SelectDownloadClientModalTitle": "{modalTitle} - 다운로드 클라이언트 선택",
|
||||
"TheLogLevelDefault": "로그 수준의 기본값은 '정보'이며 [일반 설정](/settings/general)에서 변경할 수 있습니다",
|
||||
"UpdaterLogFiles": "업데이트 도구 로그 파일",
|
||||
"CountDownloadClientsSelected": "{count}개의 다운로드 클라이언트를 선택함",
|
||||
"DefaultNameCopiedProfile": "{name} - 복사",
|
||||
"DownloadClientDelugeSettingsUrlBaseHelpText": "deluge json url에 접두사를 추가합니다. {url}을(를) 참조하세요",
|
||||
"FailedToFetchUpdates": "업데이트를 가져오는데 실패함",
|
||||
"ApplyChanges": "변경 사항 적용",
|
||||
"Started": "시작됨",
|
||||
"Database": "데이터베이스",
|
||||
"PasswordConfirmation": "비밀번호 확인",
|
||||
"TorrentBlackholeSaveMagnetFiles": "마그넷 파일 저장",
|
||||
"TorrentBlackholeSaveMagnetFilesExtension": "마그넷 파일 확장자 저장",
|
||||
"TorrentBlackholeSaveMagnetFilesExtensionHelpText": "마그넷 링크에 사용할 확장자, 기본값은 '.magnet'입니다",
|
||||
"TorrentBlackholeSaveMagnetFilesHelpText": ".torrent 파일을 사용할 수 없는 경우 마그넷 링크를 저장합니다 (다운로드 클라이언트가 파일에 저장된 마그넷을 지원하는 경우에만 유용함)",
|
||||
"AuthenticationMethodHelpTextWarning": "유효한 인증 방법을 선택해주세요",
|
||||
"AuthenticationRequiredPasswordHelpTextWarning": "새로운 비밀번호를 입력하세요",
|
||||
"AuthenticationRequiredUsernameHelpTextWarning": "새로운 사용자이름을 입력하세요",
|
||||
"AuthenticationRequiredWarning": "인증 없이 원격 액세스를 방지하기 위해 {appName}은(는) 이제 인증을 활성화해야 합니다. 선택적으로 로컬 주소에서 인증을 비활성화할 수 있습니다.",
|
||||
"CountIndexersSelected": "{count}개의 인덱서를 선택함",
|
||||
"Label": "라벨",
|
||||
"More": "더 보기",
|
||||
"Donate": "기부하기",
|
||||
"Menu": "메뉴",
|
||||
"DownloadClientQbittorrentSettingsContentLayoutHelpText": "qBittorrent의 구성된 콘텐츠 레이아웃을 사용할지, 토런트의 원래 레이아웃을 사용할지, 항상 하위 폴더를 생성할지(qBittorrent 4.3.2+)",
|
||||
"DownloadClientSettingsAddPaused": "일시 중지 추가",
|
||||
"SecretToken": "비밀 토큰",
|
||||
"NoDownloadClientsFound": "다운로드 클라이언트를 찾을 수 없음",
|
||||
"PrioritySettings": "우선 순위: {0}"
|
||||
}
|
||||
|
||||
@@ -160,5 +160,6 @@
|
||||
"AptUpdater": "Bruk apt til å installere oppdateringen",
|
||||
"Discord": "Discord",
|
||||
"AddCustomFilter": "Legg til eget filter",
|
||||
"Clone": "Lukk"
|
||||
"Clone": "Lukk",
|
||||
"AddDownloadClientImplementation": "Ny Nedlastingsklient - {implementationName}"
|
||||
}
|
||||
|
||||
@@ -806,5 +806,6 @@
|
||||
"InstallMajorVersionUpdateMessageLink": "Verifique [{domain}]({url}) para obter mais informações.",
|
||||
"FailedToFetchSettings": "Falha ao obter configurações",
|
||||
"CurrentlyInstalled": "Atualmente instalado",
|
||||
"PreviouslyInstalled": "Instalado anteriormente"
|
||||
"PreviouslyInstalled": "Instalado anteriormente",
|
||||
"DownloadClientUTorrentProviderMessage": "O uTorrent tem um histórico de incluir criptomineradores, malware e anúncios, recomendamos que você escolha outro cliente de download."
|
||||
}
|
||||
|
||||
@@ -806,5 +806,6 @@
|
||||
"InstallMajorVersionUpdateMessage": "Это обновление установит новую версию, которая может не поддерживаться вашей системой. Вы уверены, что хотите установить это обновление?",
|
||||
"FailedToFetchSettings": "Не удалось загрузить настройки",
|
||||
"CurrentlyInstalled": "Установлено",
|
||||
"PreviouslyInstalled": "Ранее установленный"
|
||||
"PreviouslyInstalled": "Ранее установленный",
|
||||
"DownloadClientUTorrentProviderMessage": "Мы настоятельно советуем не использовать uTorrent, т.к. он известен как программа-шифровальщик и в целом вредоносное ПО."
|
||||
}
|
||||
|
||||
@@ -806,5 +806,6 @@
|
||||
"IndexerGazelleGamesSettingsApiKeyHelpTextWarning": "Kullanıcı ve Torrent izinlerine sahip olmalısınız",
|
||||
"IndexerGazelleGamesSettingsSearchGroupNamesHelpText": "Grup adlarına göre sürüm ara",
|
||||
"IndexerHealthCheckNoIndexers": "Hiçbir indeksleyici etkinleştirilmedi, {appName} arama sonuçlarını döndürmeyecek",
|
||||
"QueryType": "Sorgu Türü"
|
||||
"QueryType": "Sorgu Türü",
|
||||
"DownloadClientUTorrentProviderMessage": "uTorrent'in kripto para madenciliği, kötü amaçlı yazılım ve reklam içerme geçmişi vardır, bu nedenle farklı bir istemci seçmenizi önemle tavsiye ederiz."
|
||||
}
|
||||
|
||||
@@ -441,5 +441,13 @@
|
||||
"CurrentlyInstalled": "В даний час встановлено",
|
||||
"Season": "Причина",
|
||||
"Stats": "Статус",
|
||||
"CountIndexersSelected": "{count} індексер(-и) обрано"
|
||||
"CountIndexersSelected": "{count} індексер(-и) обрано",
|
||||
"SeedRatio": "Коефіцієнт роздачі",
|
||||
"ApplicationSettingsSyncRejectBlocklistedTorrentHashesHelpText": "Якщо торрент заблоковано хешем, він може не бути належним чином відхилений під час RSS/пошуку для деяких індексаторів. Увімкнення цього параметра дозволить відхилити його після захоплення торента, але до його відправки клієнту.",
|
||||
"MinimumSeeders": "Мінімум сидерів (роздаючих)",
|
||||
"SeedTime": "Час сидіння",
|
||||
"Author": "Автор",
|
||||
"OnHealthRestoredHelpText": "При відновленні стану",
|
||||
"IndexerHDBitsSettingsOriginsHelpText": "Якщо не вказано, використовуються всі параметри.",
|
||||
"days": "дні(в)"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Linq;
|
||||
using FluentValidation.Results;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Disk;
|
||||
@@ -38,7 +39,31 @@ namespace NzbDrone.Core.Notifications.CustomScript
|
||||
|
||||
public override string Link => "https://wiki.servarr.com/prowlarr/settings#connections";
|
||||
|
||||
public override ProviderMessage Message => new ProviderMessage("Testing will execute the script with the EventType set to Test, ensure your script handles this correctly", ProviderMessageType.Warning);
|
||||
public override ProviderMessage Message => new ("Testing will execute the script with the EventType set to Test, ensure your script handles this correctly", ProviderMessageType.Warning);
|
||||
|
||||
public override void OnGrab(GrabMessage message)
|
||||
{
|
||||
var environmentVariables = new StringDictionary();
|
||||
|
||||
environmentVariables.Add("Prowlarr_EventType", "Grab");
|
||||
environmentVariables.Add("Prowlarr_InstanceName", _configFileProvider.InstanceName);
|
||||
environmentVariables.Add("Prowlarr_ApplicationUrl", _configService.ApplicationUrl);
|
||||
environmentVariables.Add("Prowlarr_Release_Title", message.Release.Title);
|
||||
environmentVariables.Add("Prowlarr_Release_Indexer", message.Release.Indexer ?? string.Empty);
|
||||
environmentVariables.Add("Prowlarr_Release_Size", message.Release.Size.ToString());
|
||||
environmentVariables.Add("Prowlarr_Release_Genres", string.Join("|", message.Release.Genres));
|
||||
environmentVariables.Add("Prowlarr_Release_Categories", string.Join("|", message.Release.Categories.Select(f => f.Name)));
|
||||
environmentVariables.Add("Prowlarr_Release_IndexerFlags", string.Join("|", message.Release.IndexerFlags.Select(f => f.Name)));
|
||||
environmentVariables.Add("Prowlarr_Release_PublishDate", message.Release.PublishDate.ToUniversalTime().ToString("s") + "Z");
|
||||
environmentVariables.Add("Prowlarr_Download_Client", message.DownloadClientName ?? string.Empty);
|
||||
environmentVariables.Add("Prowlarr_Download_Client_Type", message.DownloadClientType ?? string.Empty);
|
||||
environmentVariables.Add("Prowlarr_Download_Id", message.DownloadId ?? string.Empty);
|
||||
environmentVariables.Add("Prowlarr_Source", message.Source ?? string.Empty);
|
||||
environmentVariables.Add("Prowlarr_Host", message.Host ?? string.Empty);
|
||||
environmentVariables.Add("Prowlarr_Redirect", message.Redirect.ToString());
|
||||
|
||||
ExecuteScript(environmentVariables);
|
||||
}
|
||||
|
||||
public override void OnHealthIssue(HealthCheck.HealthCheck healthCheck)
|
||||
{
|
||||
@@ -130,10 +155,5 @@ namespace NzbDrone.Core.Notifications.CustomScript
|
||||
|
||||
return processOutput;
|
||||
}
|
||||
|
||||
private bool ValidatePathParent(string possibleParent, string path)
|
||||
{
|
||||
return possibleParent.IsParentPath(path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Core.Parser.Model;
|
||||
|
||||
namespace NzbDrone.Core.Notifications.Webhook
|
||||
@@ -13,10 +16,18 @@ namespace NzbDrone.Core.Notifications.Webhook
|
||||
ReleaseTitle = release.Title;
|
||||
Indexer = release.Indexer;
|
||||
Size = release.Size;
|
||||
Categories = release.Categories.Select(f => f.Name).ToList();
|
||||
Genres = release.Genres.ToList();
|
||||
IndexerFlags = release.IndexerFlags.Select(f => f.Name).ToHashSet();
|
||||
PublishDate = release.PublishDate;
|
||||
}
|
||||
|
||||
public string ReleaseTitle { get; set; }
|
||||
public string Indexer { get; set; }
|
||||
public long? Size { get; set; }
|
||||
public List<string> Categories { get; set; }
|
||||
public List<string> Genres { get; set; }
|
||||
public HashSet<string> IndexerFlags { get; set; }
|
||||
public DateTime? PublishDate { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ namespace NzbDrone.Core.Parser.Model
|
||||
{
|
||||
public ReleaseInfo()
|
||||
{
|
||||
Genres = new List<string>();
|
||||
IndexerFlags = new HashSet<IndexerFlag>();
|
||||
Categories = new List<IndexerCategory>();
|
||||
Languages = new List<string>();
|
||||
|
||||
@@ -11,18 +11,18 @@
|
||||
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.Data.SqlClient" Version="2.1.7" />
|
||||
<PackageReference Include="NLog.Targets.Syslog" Version="7.0.0" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.9" />
|
||||
<PackageReference Include="Npgsql" Version="7.0.10" />
|
||||
<PackageReference Include="Polly" Version="8.5.2" />
|
||||
<PackageReference Include="Servarr.FluentMigrator.Runner" Version="3.3.2.9" />
|
||||
<PackageReference Include="Servarr.FluentMigrator.Runner.Postgres" Version="3.3.2.9" />
|
||||
<PackageReference Include="Servarr.FluentMigrator.Runner.SQLite" Version="3.3.2.9" />
|
||||
<PackageReference Include="System.Memory" Version="4.6.0" />
|
||||
<PackageReference Include="System.Memory" Version="4.6.3" />
|
||||
<PackageReference Include="System.ServiceModel.Syndication" Version="6.0.0" />
|
||||
<PackageReference Include="FluentValidation" Version="9.5.4" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="System.Data.SQLite.Core.Servarr" Version="1.0.115.5-18" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.10" />
|
||||
<PackageReference Include="System.Text.Json" Version="6.0.11" />
|
||||
<PackageReference Include="MonoTorrent" Version="2.0.7" />
|
||||
<PackageReference Include="YamlDotNet" Version="13.1.1" />
|
||||
<PackageReference Include="AngleSharp" Version="1.2.0" />
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.4.0" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.2" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="6.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="6.0.3" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.3.2" />
|
||||
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
|
||||
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="6.2.0" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.HealthCheck;
|
||||
using Prowlarr.Http.REST;
|
||||
|
||||
@@ -11,7 +10,7 @@ namespace Prowlarr.Api.V1.Health
|
||||
public string Source { get; set; }
|
||||
public HealthCheckResult Type { get; set; }
|
||||
public string Message { get; set; }
|
||||
public HttpUri WikiUrl { get; set; }
|
||||
public string WikiUrl { get; set; }
|
||||
}
|
||||
|
||||
public static class HealthResourceMapper
|
||||
@@ -29,7 +28,7 @@ namespace Prowlarr.Api.V1.Health
|
||||
Source = model.Source.Name,
|
||||
Type = model.Type,
|
||||
Message = model.Message,
|
||||
WikiUrl = model.WikiUrl
|
||||
WikiUrl = model.WikiUrl.FullUri
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentValidation" Version="9.5.4" />
|
||||
<PackageReference Include="NLog" Version="5.4.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.3.2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Core\Prowlarr.Core.csproj" />
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using FluentValidation;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NzbDrone.Core.Datastore.Events;
|
||||
using NzbDrone.Core.Messaging.Events;
|
||||
@@ -20,6 +21,8 @@ namespace Prowlarr.Api.V1.Tags
|
||||
: base(signalRBroadcaster)
|
||||
{
|
||||
_tagService = tagService;
|
||||
|
||||
SharedValidator.RuleFor(c => c.Label).NotEmpty();
|
||||
}
|
||||
|
||||
public override TagResource GetResourceById(int id)
|
||||
|
||||
@@ -4739,7 +4739,8 @@
|
||||
"nullable": true
|
||||
},
|
||||
"wikiUrl": {
|
||||
"$ref": "#/components/schemas/HttpUri"
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
@@ -4991,48 +4992,6 @@
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"HttpUri": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"fullUri": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"readOnly": true
|
||||
},
|
||||
"scheme": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"readOnly": true
|
||||
},
|
||||
"host": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"readOnly": true
|
||||
},
|
||||
"port": {
|
||||
"type": "integer",
|
||||
"format": "int32",
|
||||
"nullable": true,
|
||||
"readOnly": true
|
||||
},
|
||||
"path": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"readOnly": true
|
||||
},
|
||||
"query": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"readOnly": true
|
||||
},
|
||||
"fragment": {
|
||||
"type": "string",
|
||||
"nullable": true,
|
||||
"readOnly": true
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"IActionResult": {
|
||||
"type": "object",
|
||||
"additionalProperties": false
|
||||
|
||||
Reference in New Issue
Block a user