Improve tracker entries handling

This commit is contained in:
Vladimir Golovnev (Glassez) 2021-03-01 16:06:08 +03:00
commit 7a8c05dc7c
No known key found for this signature in database
GPG key ID: 52A2C7DEE2DFA6F7
17 changed files with 194 additions and 215 deletions

View file

@ -453,18 +453,18 @@ void TorrentsController::trackersAction()
QHash<QString, BitTorrent::TrackerInfo> trackersData = torrent->trackerInfos();
for (const BitTorrent::TrackerEntry &tracker : asConst(torrent->trackers()))
{
const BitTorrent::TrackerInfo data = trackersData.value(tracker.url());
const BitTorrent::TrackerInfo data = trackersData.value(tracker.url);
trackerList << QJsonObject
{
{KEY_TRACKER_URL, tracker.url()},
{KEY_TRACKER_TIER, tracker.tier()},
{KEY_TRACKER_STATUS, static_cast<int>(tracker.status())},
{KEY_TRACKER_URL, tracker.url},
{KEY_TRACKER_TIER, tracker.tier},
{KEY_TRACKER_STATUS, static_cast<int>(tracker.status)},
{KEY_TRACKER_PEERS_COUNT, data.numPeers},
{KEY_TRACKER_MSG, data.lastMessage.trimmed()},
{KEY_TRACKER_SEEDS_COUNT, tracker.numSeeds()},
{KEY_TRACKER_LEECHES_COUNT, tracker.numLeeches()},
{KEY_TRACKER_DOWNLOADED_COUNT, tracker.numDownloaded()}
{KEY_TRACKER_SEEDS_COUNT, tracker.numSeeds},
{KEY_TRACKER_LEECHES_COUNT, tracker.numLeeches},
{KEY_TRACKER_DOWNLOADED_COUNT, tracker.numDownloaded}
};
}
@ -694,7 +694,7 @@ void TorrentsController::addTrackersAction()
{
const QUrl url {urlStr.trimmed()};
if (url.isValid())
trackers << url.toString();
trackers.append({url.toString()});
}
torrent->addTrackers(trackers);
}
@ -722,15 +722,13 @@ void TorrentsController::editTrackerAction()
bool match = false;
for (BitTorrent::TrackerEntry &tracker : trackers)
{
const QUrl trackerUrl(tracker.url());
const QUrl trackerUrl(tracker.url);
if (trackerUrl == newTrackerUrl)
throw APIError(APIErrorType::Conflict, "New tracker URL already exists");
if (trackerUrl == origTrackerUrl)
{
match = true;
BitTorrent::TrackerEntry newTracker(newTrackerUrl.toString());
newTracker.setTier(tracker.tier());
tracker = newTracker;
tracker.url = newTrackerUrl.toString();
}
}
if (!match)
@ -758,7 +756,7 @@ void TorrentsController::removeTrackersAction()
remainingTrackers.reserve(trackers.size());
for (const BitTorrent::TrackerEntry &entry : trackers)
{
if (!urls.contains(entry.url()))
if (!urls.contains(entry.url))
remainingTrackers.push_back(entry);
}