mirror of
https://github.com/Prowlarr/Prowlarr
synced 2026-01-13 11:12:01 +01:00
Minor fixes and cover link for SubsPlease
This commit is contained in:
parent
a4546c77ce
commit
45d8a8a4e6
1 changed files with 21 additions and 11 deletions
|
|
@ -75,6 +75,8 @@ private IndexerCapabilities SetCapabilities()
|
|||
|
||||
public class SubsPleaseRequestGenerator : IIndexerRequestGenerator
|
||||
{
|
||||
private static readonly Regex ResolutionRegex = new (@"\d{3,4}p", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
||||
private readonly NoAuthTorrentBaseSettings _settings;
|
||||
|
||||
public SubsPleaseRequestGenerator(NoAuthTorrentBaseSettings settings)
|
||||
|
|
@ -134,15 +136,6 @@ public IndexerPageableRequestChain GetSearchRequests(BasicSearchCriteria searchC
|
|||
|
||||
private IEnumerable<IndexerRequest> GetSearchRequests(string term, SearchCriteriaBase searchCriteria)
|
||||
{
|
||||
var searchTerm = Regex.Replace(term, "\\[?SubsPlease\\]?\\s*", string.Empty, RegexOptions.IgnoreCase).Trim();
|
||||
|
||||
// If the search terms contain a resolution, remove it from the query sent to the API
|
||||
var resMatch = Regex.Match(searchTerm, "\\d{3,4}[p|P]");
|
||||
if (resMatch.Success)
|
||||
{
|
||||
searchTerm = searchTerm.Replace(resMatch.Value, string.Empty).Trim();
|
||||
}
|
||||
|
||||
var queryParameters = new NameValueCollection
|
||||
{
|
||||
{ "tz", "UTC" }
|
||||
|
|
@ -154,6 +147,16 @@ private IEnumerable<IndexerRequest> GetSearchRequests(string term, SearchCriteri
|
|||
}
|
||||
else
|
||||
{
|
||||
var searchTerm = Regex.Replace(term, "\\[?SubsPlease\\]?\\s*", string.Empty, RegexOptions.IgnoreCase).Trim();
|
||||
|
||||
// If the search terms contain a resolution, remove it from the query sent to the API
|
||||
var resolutionMatch = ResolutionRegex.Match(searchTerm);
|
||||
|
||||
if (resolutionMatch.Success)
|
||||
{
|
||||
searchTerm = searchTerm.Replace(resolutionMatch.Value, string.Empty).Trim();
|
||||
}
|
||||
|
||||
queryParameters.Set("f", "search");
|
||||
queryParameters.Set("s", searchTerm);
|
||||
}
|
||||
|
|
@ -201,7 +204,7 @@ public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
|
|||
{
|
||||
var release = new TorrentInfo
|
||||
{
|
||||
InfoUrl = _settings.BaseUrl + $"shows/{value.Page}/",
|
||||
InfoUrl = $"{_settings.BaseUrl}shows/{value.Page}/",
|
||||
PublishDate = value.ReleaseDate.LocalDateTime,
|
||||
Files = 1,
|
||||
Categories = new List<IndexerCategory> { NewznabStandardCategory.TVAnime },
|
||||
|
|
@ -213,13 +216,18 @@ public IList<ReleaseInfo> ParseResponse(IndexerResponse indexerResponse)
|
|||
UploadVolumeFactor = 1
|
||||
};
|
||||
|
||||
if (value.ImageUrl.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
release.PosterUrl = _settings.BaseUrl + value.ImageUrl.TrimStart('/');
|
||||
}
|
||||
|
||||
if (value.Episode.ToLowerInvariant() == "movie")
|
||||
{
|
||||
release.Categories.Add(NewznabStandardCategory.MoviesOther);
|
||||
}
|
||||
|
||||
// Ex: [SubsPlease] Shingeki no Kyojin (The Final Season) - 64 (1080p)
|
||||
release.Title += $"[SubsPlease] {value.Show} - {value.Episode} ({d.Resolution}p)";
|
||||
release.Title = $"[SubsPlease] {value.Show} - {value.Episode} ({d.Resolution}p)";
|
||||
release.MagnetUrl = d.Magnet;
|
||||
release.DownloadUrl = null;
|
||||
release.Guid = d.Magnet;
|
||||
|
|
@ -269,6 +277,8 @@ public class SubPleaseRelease
|
|||
public string Episode { get; set; }
|
||||
public SubPleaseDownloadInfo[] Downloads { get; set; }
|
||||
public string Xdcc { get; set; }
|
||||
|
||||
[JsonProperty("image_url")]
|
||||
public string ImageUrl { get; set; }
|
||||
public string Page { get; set; }
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue