From c714af9e675fe5762914c28a566e679a98a417ab Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 16 Feb 2021 09:41:47 +0200 Subject: refactor: split BackupProgress into initial, increemental variants This makes it possible to later have different progress bars for initial and incremental backup runs. However, for now the bars are identical. --- src/backup_progress.rs | 21 ++++++++++++++++++++- src/backup_run.rs | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/backup_progress.rs b/src/backup_progress.rs index 6c1d3e6..d924ce1 100644 --- a/src/backup_progress.rs +++ b/src/backup_progress.rs @@ -6,7 +6,26 @@ pub struct BackupProgress { } impl BackupProgress { - pub fn new() -> Self { + pub fn initial() -> Self { + let progress = if true { + ProgressBar::new(0) + } else { + ProgressBar::hidden() + }; + let parts = vec![ + "{wide_bar}", + "elapsed: {elapsed}", + "files: {pos}/{len}", + "current: {wide_msg}", + "{spinner}", + ]; + progress.set_style(ProgressStyle::default_bar().template(&parts.join("\n"))); + progress.enable_steady_tick(100); + + Self { progress } + } + + pub fn incremental() -> Self { let progress = if true { ProgressBar::new(0) } else { diff --git a/src/backup_run.rs b/src/backup_run.rs index 7bb4440..91e06f0 100644 --- a/src/backup_run.rs +++ b/src/backup_run.rs @@ -34,7 +34,7 @@ impl BackupRun { pub fn new(config: &ClientConfig) -> BackupResult { let client = BackupClient::new(config)?; let policy = BackupPolicy::new(); - let progress = BackupProgress::new(); + let progress = BackupProgress::initial(); Ok(Self { client, policy, -- cgit v1.2.1