mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
YTS: handle YTS bug where count>0 but no movies. Resolves #12598
This commit is contained in:
@@ -66,6 +66,8 @@ search:
|
|||||||
selector: data.movies
|
selector: data.movies
|
||||||
attribute: torrents
|
attribute: torrents
|
||||||
multiple: true
|
multiple: true
|
||||||
|
# bug at YTS can return movie_count > 0 and no movie torrents #12598
|
||||||
|
missingAttributeEquals0Results: true
|
||||||
count:
|
count:
|
||||||
selector: data.movie_count
|
selector: data.movie_count
|
||||||
|
|
||||||
|
@@ -1407,6 +1407,8 @@ namespace Jackett.Common.Indexers
|
|||||||
}
|
}
|
||||||
|
|
||||||
var rowsArray = JsonParseRowsSelector(parsedJson, Search.Rows.Selector);
|
var rowsArray = JsonParseRowsSelector(parsedJson, Search.Rows.Selector);
|
||||||
|
if (rowsArray == null && Search.Rows.MissingAttributeEquals0Results)
|
||||||
|
continue;
|
||||||
if (rowsArray == null)
|
if (rowsArray == null)
|
||||||
throw new Exception("Error Parsing Rows Selector. There are 0 rows.");
|
throw new Exception("Error Parsing Rows Selector. There are 0 rows.");
|
||||||
|
|
||||||
@@ -2100,11 +2102,18 @@ namespace Jackett.Common.Indexers
|
|||||||
private JArray JsonParseRowsSelector(JToken parsedJson, string rowSelector)
|
private JArray JsonParseRowsSelector(JToken parsedJson, string rowSelector)
|
||||||
{
|
{
|
||||||
var selector = rowSelector.Split(':')[0];
|
var selector = rowSelector.Split(':')[0];
|
||||||
|
try
|
||||||
|
{
|
||||||
var rowsObj = parsedJson.SelectToken(selector).Value<JArray>();
|
var rowsObj = parsedJson.SelectToken(selector).Value<JArray>();
|
||||||
return new JArray(rowsObj.Where(t =>
|
return new JArray(rowsObj.Where(t =>
|
||||||
JsonParseFieldSelector(t.Value<JObject>(), rowSelector.Remove(0, selector.Length)) != null
|
JsonParseFieldSelector(t.Value<JObject>(), rowSelector.Remove(0, selector.Length)) != null
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private string JsonParseFieldSelector(JToken parsedJson, string rowSelector)
|
private string JsonParseFieldSelector(JToken parsedJson, string rowSelector)
|
||||||
{
|
{
|
||||||
|
@@ -152,6 +152,7 @@ namespace Jackett.Common.Models
|
|||||||
public selectorBlock Dateheaders { get; set; }
|
public selectorBlock Dateheaders { get; set; }
|
||||||
public selectorBlock Count { get; set; }
|
public selectorBlock Count { get; set; }
|
||||||
public bool Multiple { get; set; } = false;
|
public bool Multiple { get; set; } = false;
|
||||||
|
public bool MissingAttributeEquals0Results { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class searchPathBlock : requestBlock
|
public class searchPathBlock : requestBlock
|
||||||
|
Reference in New Issue
Block a user