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

This commit is contained in:
Taloth Saldono 2014-12-21 20:02:02 +01:00
parent 400a47cd19
commit 3244f71e5c
6 changed files with 29 additions and 12 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -46,11 +46,19 @@ namespace NzbDrone.Core.Indexers
{
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)
{
var match = ParsePeersRegex.Match(item.Element("description").Value);
var matchPeers = ParsePeersRegex.Match(item.Element("description").Value);
if (match.Success)
if (matchPeers.Success)
{
return Int32.Parse(match.Groups["value"].Value);
return Int32.Parse(matchPeers.Groups["value"].Value);
}
var matchSeeders = ParseSeedersRegex.Match(item.Element("description").Value);
var matchLeechers = ParseLeechersRegex.Match(item.Element("description").Value);
if (matchSeeders.Success && matchLeechers.Success)
{
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 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);
}
}