backup: embed progress.Printer in backup specific printer

This commit is contained in:
Michael Eischer
2025-09-14 19:47:54 +02:00
parent e753941ad3
commit 1a76f988ea
5 changed files with 31 additions and 32 deletions

View File

@@ -7,11 +7,12 @@ import (
"github.com/restic/restic/internal/archiver"
"github.com/restic/restic/internal/restic"
"github.com/restic/restic/internal/ui"
"github.com/restic/restic/internal/ui/progress"
)
// JSONProgress reports progress for the `backup` command in JSON.
type JSONProgress struct {
*ui.Message
progress.Printer
term ui.Terminal
v uint
@@ -23,7 +24,7 @@ var _ ProgressPrinter = &JSONProgress{}
// NewJSONProgress returns a new backup progress reporter.
func NewJSONProgress(term ui.Terminal, verbosity uint) *JSONProgress {
return &JSONProgress{
Message: ui.NewMessage(term, verbosity),
Printer: ui.NewProgressPrinter(true, verbosity, term),
term: term,
v: verbosity,
}

View File

@@ -20,8 +20,7 @@ type ProgressPrinter interface {
Finish(snapshotID restic.ID, summary *archiver.Summary, dryRun bool)
Reset()
P(msg string, args ...interface{})
V(msg string, args ...interface{})
progress.Printer
}
type Counter struct {

View File

@@ -7,10 +7,12 @@ import (
"github.com/restic/restic/internal/archiver"
"github.com/restic/restic/internal/restic"
"github.com/restic/restic/internal/ui/progress"
)
type mockPrinter struct {
sync.Mutex
progress.NoopPrinter
dirUnchanged, fileNew bool
id restic.ID
}
@@ -42,9 +44,6 @@ func (p *mockPrinter) Finish(id restic.ID, _ *archiver.Summary, _ bool) {
func (p *mockPrinter) Reset() {}
func (p *mockPrinter) P(_ string, _ ...interface{}) {}
func (p *mockPrinter) V(_ string, _ ...interface{}) {}
func TestProgress(t *testing.T) {
t.Parallel()

View File

@@ -8,11 +8,12 @@ import (
"github.com/restic/restic/internal/archiver"
"github.com/restic/restic/internal/restic"
"github.com/restic/restic/internal/ui"
"github.com/restic/restic/internal/ui/progress"
)
// TextProgress reports progress for the `backup` command.
type TextProgress struct {
*ui.Message
progress.Printer
term ui.Terminal
verbosity uint
@@ -24,7 +25,7 @@ var _ ProgressPrinter = &TextProgress{}
// NewTextProgress returns a new backup progress reporter.
func NewTextProgress(term ui.Terminal, verbosity uint) *TextProgress {
return &TextProgress{
Message: ui.NewMessage(term, verbosity),
Printer: ui.NewProgressPrinter(false, verbosity, term),
term: term,
verbosity: verbosity,
}