From 8b5dbc18caf43419557a771ade513b33e0f310db Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Sat, 13 Sep 2025 23:07:25 +0200 Subject: [PATCH] cleanup progress bar creation special cases --- cmd/restic/cmd_recover.go | 3 ++- cmd/restic/cmd_restore.go | 3 +-- cmd/restic/progress.go | 7 +------ 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/cmd/restic/cmd_recover.go b/cmd/restic/cmd_recover.go index 8fdb157f8..60c6d4e84 100644 --- a/cmd/restic/cmd_recover.go +++ b/cmd/restic/cmd_recover.go @@ -87,7 +87,8 @@ func runRecover(ctx context.Context, gopts GlobalOptions, term *termstatus.Termi } printer.P("load %d trees\n", len(trees)) - bar = newTerminalProgressMax(!gopts.Quiet, uint64(len(trees)), "trees loaded", term) + bar = printer.NewCounter("trees loaded") + bar.SetMax(uint64(len(trees))) for id := range trees { tree, err := restic.LoadTree(ctx, repo, id) if ctx.Err() != nil { diff --git a/cmd/restic/cmd_restore.go b/cmd/restic/cmd_restore.go index 2183bd874..754832507 100644 --- a/cmd/restic/cmd_restore.go +++ b/cmd/restic/cmd_restore.go @@ -10,7 +10,6 @@ import ( "github.com/restic/restic/internal/filter" "github.com/restic/restic/internal/restic" "github.com/restic/restic/internal/restorer" - "github.com/restic/restic/internal/terminal" restoreui "github.com/restic/restic/internal/ui/restore" "github.com/restic/restic/internal/ui/termstatus" @@ -260,7 +259,7 @@ func runRestore(ctx context.Context, opts RestoreOptions, gopts GlobalOptions, } var count int t0 := time.Now() - bar := newTerminalProgressMax(!gopts.Quiet && !gopts.JSON && terminal.StdoutIsTerminal(), 0, "files verified", term) + bar := msg.NewCounterTerminalOnly("files verified") count, err = res.VerifyFiles(ctx, opts.Target, countRestoredFiles, bar) if err != nil { return err diff --git a/cmd/restic/progress.go b/cmd/restic/progress.go index 3c56d6844..f61209dff 100644 --- a/cmd/restic/progress.go +++ b/cmd/restic/progress.go @@ -62,11 +62,6 @@ func newTerminalProgressMax(show bool, max uint64, description string, term *ter }) } -// newProgressMax calls newTerminalProgress without a terminal (print to stdout) -func newProgressMax(show bool, max uint64, description string) *progress.Counter { - return newGenericProgressMax(show, max, description, printProgress) -} - func printProgress(status string, final bool) { canUpdateStatus := terminal.StdoutCanUpdateStatus() @@ -103,7 +98,7 @@ func printProgress(status string, final bool) { } func newIndexProgress(quiet bool, json bool) *progress.Counter { - return newProgressMax(!quiet && !json && terminal.StdoutIsTerminal(), 0, "index files loaded") + return newGenericProgressMax(!quiet && !json && terminal.StdoutIsTerminal(), 0, "index files loaded", printProgress) } type terminalProgressPrinter struct {