mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-11 07:18:08 +00:00
Add file-to-piece-index mappings in /query/propertiesFiles command
Also do the following cleanups: Use string constant QB_EXT Remove redundant variable Add const
This commit is contained in:
parent
e07501252c
commit
a652baadb5
@ -179,6 +179,7 @@ static const char KEY_FILE_SIZE[] = "size";
|
|||||||
static const char KEY_FILE_PROGRESS[] = "progress";
|
static const char KEY_FILE_PROGRESS[] = "progress";
|
||||||
static const char KEY_FILE_PRIORITY[] = "priority";
|
static const char KEY_FILE_PRIORITY[] = "priority";
|
||||||
static const char KEY_FILE_IS_SEED[] = "is_seed";
|
static const char KEY_FILE_IS_SEED[] = "is_seed";
|
||||||
|
static const char KEY_FILE_PIECE_RANGE[] = "piece_range";
|
||||||
|
|
||||||
// TransferInfo keys
|
// TransferInfo keys
|
||||||
static const char KEY_TRANSFER_DLSPEED[] = "dl_info_speed";
|
static const char KEY_TRANSFER_DLSPEED[] = "dl_info_speed";
|
||||||
@ -888,6 +889,8 @@ QByteArray btjson::getPropertiesForTorrent(const QString& hash)
|
|||||||
* - "progress": File progress
|
* - "progress": File progress
|
||||||
* - "priority": File priority
|
* - "priority": File priority
|
||||||
* - "is_seed": Flag indicating if torrent is seeding/complete
|
* - "is_seed": Flag indicating if torrent is seeding/complete
|
||||||
|
* - "piece_range": Piece index range, the first number is the starting piece index
|
||||||
|
* and the second number is the ending piece index (inclusive)
|
||||||
*/
|
*/
|
||||||
QByteArray btjson::getFilesForTorrent(const QString& hash)
|
QByteArray btjson::getFilesForTorrent(const QString& hash)
|
||||||
{
|
{
|
||||||
@ -902,17 +905,22 @@ QByteArray btjson::getFilesForTorrent(const QString& hash)
|
|||||||
return json::toJson(fileList);
|
return json::toJson(fileList);
|
||||||
|
|
||||||
const QVector<int> priorities = torrent->filePriorities();
|
const QVector<int> priorities = torrent->filePriorities();
|
||||||
QVector<qreal> fp = torrent->filesProgress();
|
const QVector<qreal> fp = torrent->filesProgress();
|
||||||
|
const BitTorrent::TorrentInfo info = torrent->info();
|
||||||
for (int i = 0; i < torrent->filesCount(); ++i) {
|
for (int i = 0; i < torrent->filesCount(); ++i) {
|
||||||
QVariantMap fileDict;
|
QVariantMap fileDict;
|
||||||
QString fileName = torrent->filePath(i);
|
|
||||||
if (fileName.endsWith(".!qB", Qt::CaseInsensitive))
|
|
||||||
fileName.chop(4);
|
|
||||||
fileDict[KEY_FILE_NAME] = Utils::Fs::toNativePath(fileName);
|
|
||||||
const qlonglong size = torrent->fileSize(i);
|
|
||||||
fileDict[KEY_FILE_SIZE] = size;
|
|
||||||
fileDict[KEY_FILE_PROGRESS] = fp[i];
|
fileDict[KEY_FILE_PROGRESS] = fp[i];
|
||||||
fileDict[KEY_FILE_PRIORITY] = priorities[i];
|
fileDict[KEY_FILE_PRIORITY] = priorities[i];
|
||||||
|
fileDict[KEY_FILE_SIZE] = torrent->fileSize(i);
|
||||||
|
|
||||||
|
QString fileName = torrent->filePath(i);
|
||||||
|
if (fileName.endsWith(QB_EXT, Qt::CaseInsensitive))
|
||||||
|
fileName.chop(QB_EXT.size());
|
||||||
|
fileDict[KEY_FILE_NAME] = Utils::Fs::toNativePath(fileName);
|
||||||
|
|
||||||
|
const BitTorrent::TorrentInfo::PieceRange idx = info.filePieces(i);
|
||||||
|
fileDict[KEY_FILE_PIECE_RANGE] = QVariantList {idx.first(), idx.last()};
|
||||||
|
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
fileDict[KEY_FILE_IS_SEED] = torrent->isSeed();
|
fileDict[KEY_FILE_IS_SEED] = torrent->isSeed();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user