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)
|
||||
{
|
||||
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());
|
||||
|
||||
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)
|
||||
{
|
||||
if (query.SearchTerm == null)
|
||||
{
|
||||
query.SearchTerm = "";
|
||||
}
|
||||
query.SearchTerm = query.SearchTerm.Replace("'", "");
|
||||
var requester = new MejorTorrentRequester(this);
|
||||
var tvShowScraper = new TvShowScraper();
|
||||
var seasonScraper = new SeasonScraper();
|
||||
@@ -73,11 +84,29 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
var finalUri = SearchUriBase.AbsoluteUri;
|
||||
|
Reference in New Issue
Block a user