feat: chose percent and dropped eta on progress bar

This commit is contained in:
Yuki.N 2025-03-28 08:12:56 +08:00
parent 6367cc7d61
commit 3a82332bea

View file

@ -85,7 +85,7 @@ pub async fn download_pixiv_artwork(artwork_url: &str) -> Result<()> {
let m = MultiProgress::new();
let sty = ProgressStyle::with_template(
"{spinner:.green}[{eta}][{bar:40.cyan/blue}] {bytes}/{total_bytes} {msg}",
"{spinner:.green}[{percent}%][{wide_bar:.cyan/blue}] {bytes}/{total_bytes} {msg}",
)
.unwrap()
.progress_chars("#>-");
@ -150,10 +150,13 @@ async fn download_image(client: Client, url: &str, dir: &Path, pb: &ProgressBar)
.create(true)
.open(&temp_path)?;
let mut downloaded_size = 0;
let mut stream = response.bytes_stream();
while let Some(chunk) = stream.next().await {
let chunk = chunk?;
file.write_all(&chunk)?;
downloaded_size += chunk.len() as u64;
pb.set_length(downloaded_size);
pb.inc(chunk.len() as u64);
}