New: (HDBits) Add Use Filenames option

pull/1920/head
Bogdan 1 year ago
parent 118bfb8c28
commit 2cbdb5bcba

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Net; using System.Net;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using NzbDrone.Common.Extensions;
using NzbDrone.Common.Http; using NzbDrone.Common.Http;
using NzbDrone.Core.Indexers.Exceptions; using NzbDrone.Core.Indexers.Exceptions;
using NzbDrone.Core.Parser.Model; using NzbDrone.Core.Parser.Model;
@ -73,7 +74,7 @@ namespace NzbDrone.Core.Indexers.Definitions.HDBits
releaseInfos.Add(new HDBitsInfo releaseInfos.Add(new HDBitsInfo
{ {
Guid = $"HDBits-{id}", Guid = $"HDBits-{id}",
Title = result.Name, Title = GetTitle(result),
Size = result.Size, Size = result.Size,
Categories = _categories.MapTrackerCatToNewznab(result.TypeCategory.ToString()), Categories = _categories.MapTrackerCatToNewznab(result.TypeCategory.ToString()),
InfoHash = result.Hash, InfoHash = result.Hash,
@ -99,6 +100,13 @@ namespace NzbDrone.Core.Indexers.Definitions.HDBits
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; } public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
private string GetTitle(TorrentQueryResponse item)
{
return _settings.UseFilenames && item.FileName.IsNotNullOrWhiteSpace()
? item.FileName.Replace(".torrent", "", StringComparison.InvariantCultureIgnoreCase)
: item.Name;
}
private double GetDownloadVolumeFactor(TorrentQueryResponse item) private double GetDownloadVolumeFactor(TorrentQueryResponse item)
{ {
if (item.FreeLeech == "yes") if (item.FreeLeech == "yes")

@ -25,6 +25,7 @@ namespace NzbDrone.Core.Indexers.Definitions.HDBits
Codecs = Array.Empty<int>(); Codecs = Array.Empty<int>();
Mediums = Array.Empty<int>(); Mediums = Array.Empty<int>();
FreeleechOnly = false; FreeleechOnly = false;
UseFilenames = false;
} }
[FieldDefinition(2, Label = "Username", HelpText = "Site Username", Privacy = PrivacyLevel.UserName)] [FieldDefinition(2, Label = "Username", HelpText = "Site Username", Privacy = PrivacyLevel.UserName)]
@ -42,6 +43,9 @@ namespace NzbDrone.Core.Indexers.Definitions.HDBits
[FieldDefinition(6, Label = "Freeleech Only", Type = FieldType.Checkbox, Advanced = true, HelpText = "Show freeleech releases only")] [FieldDefinition(6, Label = "Freeleech Only", Type = FieldType.Checkbox, Advanced = true, HelpText = "Show freeleech releases only")]
public bool FreeleechOnly { get; set; } public bool FreeleechOnly { get; set; }
[FieldDefinition(7, Label = "Use Filenames", Type = FieldType.Checkbox, HelpText = "Check this option if you want to use torrent filenames as release titles")]
public bool UseFilenames { get; set; }
public override NzbDroneValidationResult Validate() public override NzbDroneValidationResult Validate()
{ {
return new NzbDroneValidationResult(Validator.Validate(this)); return new NzbDroneValidationResult(Validator.Validate(this));

Loading…
Cancel
Save