Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Prowlarr/Prowlarr
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.29.2.4915
Choose a base ref
...
head repository: Prowlarr/Prowlarr
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.30.0.4920
Choose a head ref
  • 5 commits
  • 9 files changed
  • 10 contributors

Commits on Jan 5, 2025

  1. Copy the full SHA
    f4d6210 View commit details

Commits on Jan 6, 2025

  1. Copy the full SHA
    2648f2c View commit details

Commits on Jan 7, 2025

  1. Copy the full SHA
    2c3621d View commit details

Commits on Jan 8, 2025

  1. Multiple Translations updated by Weblate

    ignore-downstream
    
    Co-authored-by: Altair <villagermd@outlook.com>
    Co-authored-by: Ano10 <Ano10@users.noreply.translate.servarr.com>
    Co-authored-by: GkhnGRBZ <gkhn.gurbuz@hotmail.com>
    Co-authored-by: Matti Meikäläinen <diefor-93@hotmail.com>
    Co-authored-by: Mickaël O <mickael.ouillon@ac-bordeaux.fr>
    Co-authored-by: Oskari Lavinto <olavinto@protonmail.com>
    Co-authored-by: Weblate <noreply-mt-weblate@weblate.org>
    Co-authored-by: Weblate <noreply@weblate.org>
    Co-authored-by: marapavelka <mara.pavelka@gmail.com>
    Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/cs/
    Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/da/
    Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/fi/
    Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/fr/
    Translate-URL: https://translate.servarr.com/projects/servarr/prowlarr/tr/
    Translation: Servarr/Prowlarr
    9 people authored and mynameisbogdan committed Jan 8, 2025
    Copy the full SHA
    8eb674c View commit details

Commits on Jan 10, 2025

  1. Copy the full SHA
    547bc2e View commit details
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ variables:
testsFolder: './_tests'
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
majorVersion: '1.29.2'
majorVersion: '1.30.0'
minorVersion: $[counter('minorVersion', 1)]
prowlarrVersion: '$(majorVersion).$(minorVersion)'
buildName: '$(Build.SourceBranchName).$(prowlarrVersion)'
Original file line number Diff line number Diff line change
@@ -88,7 +88,7 @@ public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
Guid = $"BTN-{torrent.TorrentID}",
InfoUrl = $"{protocol}//broadcasthe.net/torrents.php?id={torrent.GroupID}&torrentid={torrent.TorrentID}",
DownloadUrl = RegexProtocol.Replace(torrent.DownloadURL, protocol),
Title = CleanReleaseName(torrent.ReleaseName),
Title = GetTitle(torrent),
Categories = _categories.MapTrackerCatToNewznab(torrent.Resolution),
InfoHash = torrent.InfoHash,
Size = torrent.Size,
@@ -136,9 +136,17 @@ public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
return releaseInfos;
}

private string CleanReleaseName(string releaseName)
private static string GetTitle(BroadcastheNetTorrent torrent)
{
return releaseName.Replace("\\", "");
var releaseName = torrent.ReleaseName.Replace("\\", "");

if (torrent.Container.ToUpperInvariant() is "M2TS" or "ISO")
{
releaseName = Regex.Replace(releaseName, @"\b(H\.?265)\b", "HEVC", RegexOptions.Compiled);
releaseName = Regex.Replace(releaseName, @"\b(H\.?264)\b", "AVC", RegexOptions.Compiled);
}

return releaseName;
}
}
}
213 changes: 208 additions & 5 deletions src/NzbDrone.Core/Indexers/Definitions/MyAnonamouse.cs
Original file line number Diff line number Diff line change
@@ -294,14 +294,21 @@ private IEnumerable<IndexerRequest> GetPagedRequests(SearchCriteriaBase searchCr
parameters.Set("tor[srchIn][filenames]", "true");
}

var catList = _capabilities.Categories.MapTorznabCapsToTrackers(searchCriteria.Categories);
if (_settings.SearchLanguages.Any())
{
foreach (var (language, index) in _settings.SearchLanguages.Select((value, index) => (value, index)))
{
parameters.Set($"tor[browse_lang][{index}]", language.ToString());
}
}

var catList = _capabilities.Categories.MapTorznabCapsToTrackers(searchCriteria.Categories).Distinct().ToList();

if (catList.Any())
{
var index = 0;
foreach (var cat in catList)
foreach (var (category, index) in catList.Select((value, index) => (value, index)))
{
parameters.Set("tor[cat][" + index + "]", cat);
index++;
parameters.Set($"tor[cat][{index}]", category);
}
}
else
@@ -584,6 +591,7 @@ public MyAnonamouseSettings()
SearchInDescription = false;
SearchInSeries = false;
SearchInFilenames = false;
SearchLanguages = Array.Empty<int>();
}

[FieldDefinition(2, Type = FieldType.Textbox, Label = "Mam Id", HelpText = "Mam Session Id (Created Under Preferences -> Security)")]
@@ -604,6 +612,9 @@ public MyAnonamouseSettings()
[FieldDefinition(7, Type = FieldType.Checkbox, Label = "Search in filenames", HelpText = "Search text in the filenames")]
public bool SearchInFilenames { get; set; }

[FieldDefinition(8, Type = FieldType.Select, Label = "Search Languages", SelectOptions = typeof(MyAnonamouseSearchLanguages), HelpText = "Specify the desired languages. If unspecified, all options are used.")]
public IEnumerable<int> SearchLanguages { get; set; }

public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
@@ -631,6 +642,198 @@ public enum MyAnonamouseSearchType
NotVip = 5,
}

public enum MyAnonamouseSearchLanguages
{
[FieldOption(Label="English")]
English = 1,

[FieldOption(Label="Afrikaans")]
Afrikaans = 17,

[FieldOption(Label="Arabic")]
Arabic = 32,

[FieldOption(Label="Bengali")]
Bengali = 35,

[FieldOption(Label="Bosnian")]
Bosnian = 51,

[FieldOption(Label="Bulgarian")]
Bulgarian = 18,

[FieldOption(Label="Burmese")]
Burmese = 6,

[FieldOption(Label="Cantonese")]
Cantonese = 44,

[FieldOption(Label="Catalan")]
Catalan = 19,

[FieldOption(Label="Chinese")]
Chinese = 2,

[FieldOption(Label="Croatian")]
Croatian = 49,

[FieldOption(Label="Czech")]
Czech = 20,

[FieldOption(Label="Danish")]
Danish = 21,

[FieldOption(Label="Dutch")]
Dutch = 22,

[FieldOption(Label="Estonian")]
Estonian = 61,

[FieldOption(Label="Farsi")]
Farsi = 39,

[FieldOption(Label="Finnish")]
Finnish = 23,

[FieldOption(Label="French")]
French = 36,

[FieldOption(Label="German")]
German = 37,

[FieldOption(Label="Greek")]
Greek = 26,

[FieldOption(Label="Greek, Ancient")]
GreekAncient = 59,

[FieldOption(Label="Gujarati")]
Gujarati = 3,

[FieldOption(Label="Hebrew")]
Hebrew = 27,

[FieldOption(Label="Hindi")]
Hindi = 8,

[FieldOption(Label="Hungarian")]
Hungarian = 28,

[FieldOption(Label="Icelandic")]
Icelandic = 63,

[FieldOption(Label="Indonesian")]
Indonesian = 53,

[FieldOption(Label="Irish")]
Irish = 56,

[FieldOption(Label="Italian")]
Italian = 43,

[FieldOption(Label="Japanese")]
Japanese = 38,

[FieldOption(Label="Javanese")]
Javanese = 12,

[FieldOption(Label="Kannada")]
Kannada = 5,

[FieldOption(Label="Korean")]
Korean = 41,

[FieldOption(Label="Lithuanian")]
Lithuanian = 50,

[FieldOption(Label="Latin")]
Latin = 46,

[FieldOption(Label="Latvian")]
Latvian = 62,

[FieldOption(Label="Malay")]
Malay = 33,

[FieldOption(Label="Malayalam")]
Malayalam = 58,

[FieldOption(Label="Manx")]
Manx = 57,

[FieldOption(Label="Marathi")]
Marathi = 9,

[FieldOption(Label="Norwegian")]
Norwegian = 48,

[FieldOption(Label="Polish")]
Polish = 45,

[FieldOption(Label="Portuguese")]
Portuguese = 34,

[FieldOption(Label="Brazilian Portuguese (BP)")]
BrazilianPortuguese = 52,

[FieldOption(Label="Punjabi")]
Punjabi = 14,

[FieldOption(Label="Romanian")]
Romanian = 30,

[FieldOption(Label="Russian")]
Russian = 16,

[FieldOption(Label="Scottish Gaelic")]
ScottishGaelic = 24,

[FieldOption(Label="Sanskrit")]
Sanskrit = 60,

[FieldOption(Label="Serbian")]
Serbian = 31,

[FieldOption(Label="Slovenian")]
Slovenian = 54,

[FieldOption(Label="Spanish")]
Spanish = 4,

[FieldOption(Label="Castilian Spanish")]
CastilianSpanish = 55,

[FieldOption(Label="Swedish")]
Swedish = 40,

[FieldOption(Label="Tagalog")]
Tagalog = 29,

[FieldOption(Label="Tamil")]
Tamil = 11,

[FieldOption(Label="Telugu")]
Telugu = 10,

[FieldOption(Label="Thai")]
Thai = 7,

[FieldOption(Label="Turkish")]
Turkish = 42,

[FieldOption(Label="Ukrainian")]
Ukrainian = 25,

[FieldOption(Label="Urdu")]
Urdu = 15,

[FieldOption(Label="Vietnamese")]
Vietnamese = 13,

[FieldOption(Label="Other")]
Other = 47,
}

public class MyAnonamouseTorrent
{
public int Id { get; set; }
9 changes: 7 additions & 2 deletions src/NzbDrone.Core/Indexers/Definitions/Nebulance.cs
Original file line number Diff line number Diff line change
@@ -240,15 +240,20 @@ public NebulanceParser(NebulanceSettings settings)

public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
{
var torrentInfos = new List<ReleaseInfo>();

if (indexerResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
{
STJson.TryDeserialize<JsonRpcResponse<NebulanceErrorResponse>>(indexerResponse.HttpResponse.Content, out var errorResponse);

throw new IndexerException(indexerResponse, "Unexpected response status '{0}' code from indexer request: {1}", indexerResponse.HttpResponse.StatusCode, errorResponse?.Result?.Error?.Message ?? "Check the logs for more information.");
}

if (!indexerResponse.HttpResponse.Headers.ContentType.Contains(HttpAccept.Json.Value))
{
throw new IndexerException(indexerResponse, "Unexpected response header {0} from indexer request, expected {1}", indexerResponse.HttpResponse.Headers.ContentType, HttpAccept.Json.Value);
}

var torrentInfos = new List<ReleaseInfo>();

JsonRpcResponse<NebulanceResponse> jsonResponse;

try
Loading