mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Mejortorrent: improvements (#3324)
* feat(newpct): rename title to make them more standarized * fix: add site link configurable * feat: add tests if news are not available Sometimes the web has no news, and even if the tv show searcher is working it throws an error. This way it will check news, and, if not available, will check some series to check aliveness. * fix: remove apostrophes from search closes #3315 * fix: initialize search term if it's null
This commit is contained in:

committed by
kaso17

parent
038fe2866b
commit
115dfd20e7
@@ -45,6 +45,12 @@ namespace Jackett.Common.Indexers
|
|||||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||||
{
|
{
|
||||||
configData.LoadValuesFromJson(configJson);
|
configData.LoadValuesFromJson(configJson);
|
||||||
|
|
||||||
|
WebUri = new Uri(configData.SiteLink.Value);
|
||||||
|
DownloadUri = new Uri(WebUri, "secciones.php?sec=descargas&ap=contar_varios");
|
||||||
|
SearchUriBase = new Uri(WebUri, "secciones.php");
|
||||||
|
NewTorrentsUri = new Uri(WebUri, "secciones.php?sec=ultimos_torrents");
|
||||||
|
|
||||||
var releases = await PerformQuery(new TorznabQuery());
|
var releases = await PerformQuery(new TorznabQuery());
|
||||||
|
|
||||||
await ConfigureIfOK(string.Empty, releases.Count() > 0, () =>
|
await ConfigureIfOK(string.Empty, releases.Count() > 0, () =>
|
||||||
@@ -62,6 +68,11 @@ namespace Jackett.Common.Indexers
|
|||||||
|
|
||||||
public async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query, int attempts)
|
public async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query, int attempts)
|
||||||
{
|
{
|
||||||
|
if (query.SearchTerm == null)
|
||||||
|
{
|
||||||
|
query.SearchTerm = "";
|
||||||
|
}
|
||||||
|
query.SearchTerm = query.SearchTerm.Replace("'", "");
|
||||||
var requester = new MejorTorrentRequester(this);
|
var requester = new MejorTorrentRequester(this);
|
||||||
var tvShowScraper = new TvShowScraper();
|
var tvShowScraper = new TvShowScraper();
|
||||||
var seasonScraper = new SeasonScraper();
|
var seasonScraper = new SeasonScraper();
|
||||||
@@ -73,11 +84,29 @@ namespace Jackett.Common.Indexers
|
|||||||
|
|
||||||
if (string.IsNullOrEmpty(query.SanitizedSearchTerm))
|
if (string.IsNullOrEmpty(query.SanitizedSearchTerm))
|
||||||
{
|
{
|
||||||
return await rssPerformer.PerformQuery(query);
|
var releases = await rssPerformer.PerformQuery(query);
|
||||||
|
if (releases.Count() == 0)
|
||||||
|
{
|
||||||
|
releases = await AliveCheck(tvShowPerformer);
|
||||||
|
}
|
||||||
|
return releases;
|
||||||
}
|
}
|
||||||
return await tvShowPerformer.PerformQuery(query);
|
return await tvShowPerformer.PerformQuery(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task<IEnumerable<ReleaseInfo>> AliveCheck(TvShowPerformer tvShowPerformer)
|
||||||
|
{
|
||||||
|
IEnumerable<ReleaseInfo> releases = new List<ReleaseInfo>();
|
||||||
|
var tests = new Queue<string>(new[] { "stranger things", "westworld", "friends" });
|
||||||
|
while (releases.Count() == 0 && tests.Count > 0)
|
||||||
|
{
|
||||||
|
var query = new TorznabQuery();
|
||||||
|
query.SearchTerm = tests.Dequeue();
|
||||||
|
releases = await tvShowPerformer.PerformQuery(query);
|
||||||
|
}
|
||||||
|
return releases;
|
||||||
|
}
|
||||||
|
|
||||||
public static Uri CreateSearchUri(string search)
|
public static Uri CreateSearchUri(string search)
|
||||||
{
|
{
|
||||||
var finalUri = SearchUriBase.AbsoluteUri;
|
var finalUri = SearchUriBase.AbsoluteUri;
|
||||||
|
Reference in New Issue
Block a user