aboutsummaryrefslogtreecommitdiffstats
path: root/crates/yt_dlp/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/yt_dlp/src')
-rw-r--r--crates/yt_dlp/src/lib.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crates/yt_dlp/src/lib.rs b/crates/yt_dlp/src/lib.rs
index 9fd0200..980d807 100644
--- a/crates/yt_dlp/src/lib.rs
+++ b/crates/yt_dlp/src/lib.rs
@@ -103,7 +103,6 @@ signal.signal(signal.SIGINT, signal.SIG_DFL)",
pub fn progress_hook(py: Python<'_>, input: &Bound<'_, PyDict>) -> PyResult<()> {
// Only add the handler, if the log-level is higher than Debug (this avoids covering debug
// messages).
- // FIXME: We should actually just find a way to not cover printed messages. <2024-10-19>
if log_enabled!(Level::Debug) {
return Ok(());
}
@@ -229,7 +228,7 @@ pub fn progress_hook(py: Python<'_>, input: &Bound<'_, PyDict>) -> PyResult<()>
let speed = default_get! {as_f64, 0.0, "speed"};
let downloaded_bytes = get! {is_u64, as_u64, "downloaded_bytes"};
- let total_bytes = {
+ let (total_bytes, bytes_is_estimate): (u64, &'static str) = {
let total_bytes = default_get!(as_u64, 0, "total_bytes");
if total_bytes == 0 {
let maybe_estimate = default_get!(as_u64, 0, "total_bytes_estimate");
@@ -239,12 +238,12 @@ pub fn progress_hook(py: Python<'_>, input: &Bound<'_, PyDict>) -> PyResult<()>
// Thus multiplying them gets us the raw bytes (which were estimated by `yt_dlp`, from their `info.json`)
let bytes_still_needed = (speed * eta).ceil() as u64;
- downloaded_bytes + bytes_still_needed
+ (downloaded_bytes + bytes_still_needed, "~")
} else {
- maybe_estimate
+ (maybe_estimate, "~")
}
} else {
- total_bytes
+ (total_bytes, "")
}
};
let percent: f64 = {
@@ -259,19 +258,20 @@ pub fn progress_hook(py: Python<'_>, input: &Bound<'_, PyDict>) -> PyResult<()>
move_to_col(1);
print!(
- "'{}' [{}/{} at {}] -> [{}/{} {}] ",
+ "'{}' [{}/{} at {}] -> [{} of {}{} {}] ",
c!("34;1", get_title(true)),
c!("33;1", Duration::from(Some(elapsed))),
c!("33;1", Duration::from(Some(eta))),
c!("32;1", format_speed(speed)),
c!("31;1", format_bytes(downloaded_bytes)),
+ c!("31;1", bytes_is_estimate),
c!("31;1", format_bytes(total_bytes)),
c!("36;1", format!("{:.02}%", percent))
);
stdout().flush()?;
}
"finished" => {
- println!("-> Finished downloading: '{}'", c!("34;1", get_title(true)));
+ println!("-> Finished downloading.");
}
"error" => {
panic!("-> Error while downloading: {}", get_title(true))