Do not display padding files in UI

This commit is contained in:
Igor Katson 2024-11-07 16:07:16 +00:00
parent ecc094a444
commit c3c413c14b
No known key found for this signature in database
GPG key ID: B4EC22B66D61A3F5
4 changed files with 27 additions and 15 deletions

View file

@ -4,7 +4,7 @@ use anyhow::Context;
use buffers::ByteBufOwned;
use dht::{DhtStats, Id20};
use http::StatusCode;
use librqbit_core::torrent_metainfo::TorrentMetaV1Info;
use librqbit_core::torrent_metainfo::{FileDetailsAttrs, TorrentMetaV1Info};
use serde::{Deserialize, Serialize};
use tokio::sync::mpsc::UnboundedSender;
use tracing::warn;
@ -498,6 +498,7 @@ pub struct TorrentDetailsResponseFile {
pub components: Vec<String>,
pub length: u64,
pub included: bool,
pub attributes: FileDetailsAttrs,
}
#[derive(Default, Serialize)]
@ -551,6 +552,7 @@ fn make_torrent_details(
components,
length: d.len,
included,
attributes: d.attrs(),
}
})
.collect();

View file

@ -9,6 +9,14 @@ export interface TorrentFile {
components: string[];
length: number;
included: boolean;
attributes: TorrentFileAttributes;
}
export interface TorrentFileAttributes {
symlink: boolean;
hidden: boolean;
padding: boolean;
executable: boolean;
}
// Interface for the Torrent Details API response

View file

@ -73,15 +73,20 @@ const newFileTree = (
return newFileTreeInner(
"",
"filetree-root",
torrentDetails.files.map((file, id) => {
return {
id,
filename: file.components[file.components.length - 1],
pathComponents: file.components,
length: file.length,
have_bytes: stats ? stats.file_progress[id] ?? 0 : 0,
};
}),
torrentDetails.files
.map((file, id) => {
if (file.attributes.padding) {
return null;
}
return {
id,
filename: file.components[file.components.length - 1],
pathComponents: file.components,
length: file.length,
have_bytes: stats ? (stats.file_progress[id] ?? 0) : 0,
};
})
.filter((f) => f !== null),
0,
);
};
@ -156,10 +161,7 @@ const FileTreeComponent: React.FC<{
};
const fileLink = (file: TorrentFileForCheckbox) => {
if (
allowStream &&
torrentId != null
) {
if (allowStream && torrentId != null) {
return API.getTorrentStreamUrl(torrentId, file.id, file.filename);
}
};

View file

@ -185,7 +185,7 @@ where
}
}
#[derive(Default, Debug, Clone, Copy)]
#[derive(Serialize, Deserialize, Default, Debug, Clone, Copy)]
pub struct FileDetailsAttrs {
pub symlink: bool,
pub hidden: bool,