mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Fix NRE on empty API response & hardcode size (#10858)
* Fix NRE on empty API response & hardcode size * Estimate size based on resolution
This commit is contained in:
@@ -104,8 +104,8 @@ namespace Jackett.Common.Indexers
|
|||||||
{
|
{
|
||||||
var releaseInfo = new List<ReleaseInfo>();
|
var releaseInfo = new List<ReleaseInfo>();
|
||||||
|
|
||||||
// When there are no results, the API returns an empty array instead of an object
|
// When there are no results, the API returns an empty array or empty response instead of an object
|
||||||
if (json == "[]")
|
if (string.IsNullOrWhiteSpace(json) || json == "[]")
|
||||||
return releaseInfo;
|
return releaseInfo;
|
||||||
|
|
||||||
var releases = JsonConvert.DeserializeObject<Dictionary<string, Release>>(json);
|
var releases = JsonConvert.DeserializeObject<Dictionary<string, Release>>(json);
|
||||||
@@ -118,7 +118,6 @@ namespace Jackett.Common.Indexers
|
|||||||
PublishDate = r.Release_Date.DateTime,
|
PublishDate = r.Release_Date.DateTime,
|
||||||
Files = 1,
|
Files = 1,
|
||||||
Category = new List<int> { TorznabCatType.TVAnime.ID },
|
Category = new List<int> { TorznabCatType.TVAnime.ID },
|
||||||
Size = 0,
|
|
||||||
Seeders = 1,
|
Seeders = 1,
|
||||||
Peers = 2,
|
Peers = 2,
|
||||||
MinimumRatio = 1,
|
MinimumRatio = 1,
|
||||||
@@ -129,11 +128,22 @@ namespace Jackett.Common.Indexers
|
|||||||
foreach (var d in r.Downloads)
|
foreach (var d in r.Downloads)
|
||||||
{
|
{
|
||||||
var release = (ReleaseInfo)baseRelease.Clone();
|
var release = (ReleaseInfo)baseRelease.Clone();
|
||||||
//Ex: [SubsPlease] Shingeki no Kyojin (The Final Season) - 64 (1080p)
|
// Ex: [SubsPlease] Shingeki no Kyojin (The Final Season) - 64 (1080p)
|
||||||
release.Title += $"[SubsPlease] {r.Show} - {r.Episode} ({d.Res}p)";
|
release.Title += $"[SubsPlease] {r.Show} - {r.Episode} ({d.Res}p)";
|
||||||
release.MagnetUri = new Uri(d.Magnet);
|
release.MagnetUri = new Uri(d.Magnet);
|
||||||
release.Link = null;
|
release.Link = null;
|
||||||
release.Guid = new Uri(d.Magnet);
|
release.Guid = new Uri(d.Magnet);
|
||||||
|
|
||||||
|
// The API doesn't tell us file size, so give an estimate based on resolution
|
||||||
|
if(string.Equals(d.Res, "1080"))
|
||||||
|
release.Size = 1395864371; // 1.3GB
|
||||||
|
else if (string.Equals(d.Res, "720"))
|
||||||
|
release.Size = 734003200; // 700MB
|
||||||
|
else if (string.Equals(d.Res, "480"))
|
||||||
|
release.Size = 367001600; // 350MB
|
||||||
|
else
|
||||||
|
release.Size = 1073741824; // 1GB
|
||||||
|
|
||||||
releaseInfo.Add(release);
|
releaseInfo.Add(release);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user