Fixed: No longer mixes up peers and leechers, so the UI should now properly report seeders and leechers.

pull/2/head
Taloth Saldono 10 years ago
parent 400a47cd19
commit 3244f71e5c

@ -53,7 +53,7 @@ namespace NzbDrone.Core.Test.IndexerTests.BroadcastheNetTests
torrentInfo.InfoHash.Should().Be("123"); torrentInfo.InfoHash.Should().Be("123");
torrentInfo.TvRageId.Should().Be(4055); torrentInfo.TvRageId.Should().Be(4055);
torrentInfo.MagnetUrl.Should().BeNullOrEmpty(); torrentInfo.MagnetUrl.Should().BeNullOrEmpty();
torrentInfo.Peers.Should().Be(9); torrentInfo.Peers.Should().Be(40+9);
torrentInfo.Seeders.Should().Be(40); torrentInfo.Seeders.Should().Be(40);
} }

@ -50,7 +50,7 @@ namespace NzbDrone.Core.Test.IndexerTests.NyaaTests
torrentInfo.Size.Should().Be(2523293286); //2.35 GiB torrentInfo.Size.Should().Be(2523293286); //2.35 GiB
torrentInfo.InfoHash.Should().Be(null); torrentInfo.InfoHash.Should().Be(null);
torrentInfo.MagnetUrl.Should().Be(null); torrentInfo.MagnetUrl.Should().Be(null);
torrentInfo.Peers.Should().Be(2); torrentInfo.Peers.Should().Be(2+1);
torrentInfo.Seeders.Should().Be(1); torrentInfo.Seeders.Should().Be(1);
} }
} }

@ -50,7 +50,7 @@ namespace NzbDrone.Core.Test.IndexerTests.TorrentleechTests
torrentInfo.Size.Should().Be(0); torrentInfo.Size.Should().Be(0);
torrentInfo.InfoHash.Should().Be(null); torrentInfo.InfoHash.Should().Be(null);
torrentInfo.MagnetUrl.Should().Be(null); torrentInfo.MagnetUrl.Should().Be(null);
torrentInfo.Peers.Should().Be(7); torrentInfo.Peers.Should().Be(7+1);
torrentInfo.Seeders.Should().Be(1); torrentInfo.Seeders.Should().Be(1);
} }
} }

@ -59,7 +59,7 @@ namespace NzbDrone.Core.Indexers.BroadcastheNet
//torrentInfo.MagnetUrl = //torrentInfo.MagnetUrl =
torrentInfo.InfoHash = torrent.InfoHash; torrentInfo.InfoHash = torrent.InfoHash;
torrentInfo.Seeders = torrent.Seeders; torrentInfo.Seeders = torrent.Seeders;
torrentInfo.Peers = torrent.Leechers; torrentInfo.Peers = torrent.Leechers + torrent.Seeders;
results.Add(torrentInfo); results.Add(torrentInfo);
} }

@ -65,7 +65,7 @@ namespace NzbDrone.Core.Indexers
return (Int32)seeds; return (Int32)seeds;
} }
return base.GetPeers(item); return base.GetSeeders(item);
} }
protected override Int32? GetPeers(XElement item) protected override Int32? GetPeers(XElement item)

@ -46,11 +46,19 @@ namespace NzbDrone.Core.Indexers
{ {
if (ParseSeedersInDescription) if (ParseSeedersInDescription)
{ {
var match = ParseSeedersRegex.Match(item.Element("description").Value); var matchSeeders = ParseSeedersRegex.Match(item.Element("description").Value);
if (match.Success) if (matchSeeders.Success)
{ {
return Int32.Parse(match.Groups["value"].Value); return Int32.Parse(matchSeeders.Groups["value"].Value);
}
var matchPeers = ParsePeersRegex.Match(item.Element("description").Value);
var matchLeechers = ParseLeechersRegex.Match(item.Element("description").Value);
if (matchPeers.Success && matchLeechers.Success)
{
return Int32.Parse(matchPeers.Groups["value"].Value) - Int32.Parse(matchLeechers.Groups["value"].Value);
} }
} }
@ -61,11 +69,19 @@ namespace NzbDrone.Core.Indexers
{ {
if (ParseSeedersInDescription) if (ParseSeedersInDescription)
{ {
var match = ParsePeersRegex.Match(item.Element("description").Value); var matchPeers = ParsePeersRegex.Match(item.Element("description").Value);
if (matchPeers.Success)
{
return Int32.Parse(matchPeers.Groups["value"].Value);
}
var matchSeeders = ParseSeedersRegex.Match(item.Element("description").Value);
var matchLeechers = ParseLeechersRegex.Match(item.Element("description").Value);
if (match.Success) if (matchSeeders.Success && matchLeechers.Success)
{ {
return Int32.Parse(match.Groups["value"].Value); return Int32.Parse(matchSeeders.Groups["value"].Value) + Int32.Parse(matchLeechers.Groups["value"].Value);
} }
} }
@ -73,6 +89,7 @@ namespace NzbDrone.Core.Indexers
} }
private static readonly Regex ParseSeedersRegex = new Regex(@"(Seeder)s?:\s+(?<value>\d+)|(?<value>\d+)\s+(seeder)s?", RegexOptions.IgnoreCase | RegexOptions.Compiled); private static readonly Regex ParseSeedersRegex = new Regex(@"(Seeder)s?:\s+(?<value>\d+)|(?<value>\d+)\s+(seeder)s?", RegexOptions.IgnoreCase | RegexOptions.Compiled);
private static readonly Regex ParsePeersRegex = new Regex(@"(Leecher|Peer)s?:\s+(?<value>\d+)|(?<value>\d+)\s+(leecher|peer)s?", RegexOptions.IgnoreCase | RegexOptions.Compiled); private static readonly Regex ParseLeechersRegex = new Regex(@"(Leecher)s?:\s+(?<value>\d+)|(?<value>\d+)\s+(leecher)s?", RegexOptions.IgnoreCase | RegexOptions.Compiled);
private static readonly Regex ParsePeersRegex = new Regex(@"(Peer)s?:\s+(?<value>\d+)|(?<value>\d+)\s+(peer)s?", RegexOptions.IgnoreCase | RegexOptions.Compiled);
} }
} }

Loading…
Cancel
Save