From bab3cda0e81fa3ac3315601f5ec17724f3ad8ed5 Mon Sep 17 00:00:00 2001 From: Jhon Honce Date: Tue, 20 Oct 2020 10:29:49 -0700 Subject: Refactor podman to use c/common/pkg/report All formatting for containers stack moved into one package The does not correct issue with headers when using custom tables Signed-off-by: Jhon Honce --- cmd/podman/common/diffChanges.go | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 cmd/podman/common/diffChanges.go (limited to 'cmd/podman/common') diff --git a/cmd/podman/common/diffChanges.go b/cmd/podman/common/diffChanges.go new file mode 100644 index 000000000..4aa485acc --- /dev/null +++ b/cmd/podman/common/diffChanges.go @@ -0,0 +1,43 @@ +package common + +import ( + "fmt" + "os" + + "github.com/containers/podman/v2/pkg/domain/entities" + "github.com/containers/storage/pkg/archive" + "github.com/pkg/errors" +) + +type ChangesReportJSON struct { + Changed []string `json:"changed,omitempty"` + Added []string `json:"added,omitempty"` + Deleted []string `json:"deleted,omitempty"` +} + +func ChangesToJSON(diffs *entities.DiffReport) error { + body := ChangesReportJSON{} + for _, row := range diffs.Changes { + switch row.Kind { + case archive.ChangeAdd: + body.Added = append(body.Added, row.Path) + case archive.ChangeDelete: + body.Deleted = append(body.Deleted, row.Path) + case archive.ChangeModify: + body.Changed = append(body.Changed, row.Path) + default: + return errors.Errorf("output kind %q not recognized", row.Kind) + } + } + + // Pull in configured json library + enc := json.NewEncoder(os.Stdout) + return enc.Encode(body) +} + +func ChangesToTable(diffs *entities.DiffReport) error { + for _, row := range diffs.Changes { + fmt.Fprintln(os.Stdout, row.String()) + } + return nil +} -- cgit v1.2.3-54-g00ecf