summaryrefslogtreecommitdiff
path: root/cmd/podman/images
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2021-06-15 10:08:34 -0700
committerJhon Honce <jhonce@redhat.com>2021-06-16 16:53:48 -0700
commitbd9987239dae148bfd3eea8540d21ae7715faff7 (patch)
tree9acb4f44f6d3410d2f7bf78aa9a1621f73bef449 /cmd/podman/images
parente73a7dadac5a8c74c3a020993de94ed88fd6a04e (diff)
downloadpodman-bd9987239dae148bfd3eea8540d21ae7715faff7.tar.gz
podman-bd9987239dae148bfd3eea8540d21ae7715faff7.tar.bz2
podman-bd9987239dae148bfd3eea8540d21ae7715faff7.zip
Scrub podman commands to use report package
Refactor podman commands that have drifted from using c/common report pkg. Report pkg is needed to implement go template functions. Removed obsolete code from podman which exists in c/common. Latest template library added default newlines and method to remove them. Incorporated needed changes in c/common PR below. Depends on https://github.com/containers/common/pull/624 Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1855983 Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'cmd/podman/images')
-rw-r--r--cmd/podman/images/history.go13
-rw-r--r--cmd/podman/images/list.go22
-rw-r--r--cmd/podman/images/mount.go13
-rw-r--r--cmd/podman/images/search.go15
-rw-r--r--cmd/podman/images/trust_show.go23
5 files changed, 47 insertions, 39 deletions
diff --git a/cmd/podman/images/history.go b/cmd/podman/images/history.go
index 69268c261..c065acfad 100644
--- a/cmd/podman/images/history.go
+++ b/cmd/podman/images/history.go
@@ -5,14 +5,11 @@ import (
"fmt"
"os"
"strings"
- "text/tabwriter"
- "text/template"
"time"
"unicode"
"github.com/containers/common/pkg/report"
"github.com/containers/podman/v3/cmd/podman/common"
- "github.com/containers/podman/v3/cmd/podman/parse"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/docker/go-units"
@@ -125,13 +122,17 @@ func history(cmd *cobra.Command, args []string) error {
case opts.quiet:
row = "{{.ID}}\n"
}
- format := parse.EnforceRange(row)
+ format := report.EnforceRange(row)
- tmpl, err := template.New("report").Parse(format)
+ tmpl, err := report.NewTemplate("history").Parse(format)
+ if err != nil {
+ return err
+ }
+
+ w, err := report.NewWriterDefault(os.Stdout)
if err != nil {
return err
}
- w := tabwriter.NewWriter(os.Stdout, 8, 2, 2, ' ', 0)
defer w.Flush()
if !opts.quiet && !cmd.Flags().Changed("format") {
diff --git a/cmd/podman/images/list.go b/cmd/podman/images/list.go
index cc38a45c7..01286daf2 100644
--- a/cmd/podman/images/list.go
+++ b/cmd/podman/images/list.go
@@ -5,8 +5,6 @@ import (
"os"
"sort"
"strings"
- "text/tabwriter"
- "text/template"
"time"
"unicode"
@@ -14,7 +12,6 @@ import (
"github.com/containers/common/pkg/report"
"github.com/containers/image/v5/docker/reference"
"github.com/containers/podman/v3/cmd/podman/common"
- "github.com/containers/podman/v3/cmd/podman/parse"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/docker/go-units"
@@ -140,7 +137,7 @@ func images(cmd *cobra.Command, args []string) error {
case listFlag.quiet:
return writeID(imgs)
default:
- if cmd.Flags().Changed("format") && !parse.HasTable(listFlag.format) {
+ if cmd.Flags().Changed("format") && !report.HasTable(listFlag.format) {
listFlag.noHeading = true
}
return writeTemplate(imgs)
@@ -195,20 +192,23 @@ func writeTemplate(imgs []imageReporter) error {
"ReadOnly": "R/O",
})
- var row string
+ var format string
if listFlag.format == "" {
- row = lsFormatFromFlags(listFlag)
+ format = lsFormatFromFlags(listFlag)
} else {
- row = report.NormalizeFormat(listFlag.format)
+ format = report.NormalizeFormat(listFlag.format)
+ format = report.EnforceRange(format)
}
- format := parse.EnforceRange(row)
- tmpl, err := template.New("list").Parse(format)
+ tmpl, err := report.NewTemplate("list").Parse(format)
if err != nil {
return err
}
- w := tabwriter.NewWriter(os.Stdout, 8, 2, 2, ' ', 0)
+ w, err := report.NewWriterDefault(os.Stdout)
+ if err != nil {
+ return err
+ }
defer w.Flush()
if !listFlag.noHeading {
@@ -337,7 +337,7 @@ func lsFormatFromFlags(flags listFlagType) string {
row = append(row, "{{.ReadOnly}}")
}
- return strings.Join(row, "\t") + "\n"
+ return "{{range . }}" + strings.Join(row, "\t") + "\n{{end -}}"
}
type imageReporter struct {
diff --git a/cmd/podman/images/mount.go b/cmd/podman/images/mount.go
index efcff8264..89c00cb70 100644
--- a/cmd/podman/images/mount.go
+++ b/cmd/podman/images/mount.go
@@ -3,8 +3,6 @@ package images
import (
"fmt"
"os"
- "text/tabwriter"
- "text/template"
"github.com/containers/common/pkg/report"
"github.com/containers/podman/v3/cmd/podman/common"
@@ -99,13 +97,18 @@ func mount(cmd *cobra.Command, args []string) error {
mrs = append(mrs, mountReporter{r})
}
- row := "{{range . }}{{.ID}}\t{{.Path}}\n{{end}}"
- tmpl, err := template.New("mounts").Parse(row)
+ row := "{{range . }}{{.ID}}\t{{.Path}}\n{{end -}}"
+ tmpl, err := report.NewTemplate("mounts").Parse(row)
+ if err != nil {
+ return err
+ }
+
+ w, err := report.NewWriterDefault(os.Stdout)
if err != nil {
return err
}
- w := tabwriter.NewWriter(os.Stdout, 8, 2, 2, ' ', 0)
defer w.Flush()
+
return tmpl.Execute(w, mrs)
}
diff --git a/cmd/podman/images/search.go b/cmd/podman/images/search.go
index 08bf3cf6b..11e54578a 100644
--- a/cmd/podman/images/search.go
+++ b/cmd/podman/images/search.go
@@ -3,14 +3,11 @@ package images
import (
"fmt"
"os"
- "text/tabwriter"
- "text/template"
"github.com/containers/common/pkg/auth"
"github.com/containers/common/pkg/completion"
"github.com/containers/common/pkg/report"
"github.com/containers/image/v5/types"
- "github.com/containers/podman/v3/cmd/podman/parse"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/pkg/errors"
@@ -156,18 +153,22 @@ func imageSearch(cmd *cobra.Command, args []string) error {
case report.IsJSON(searchOptions.Format):
return printArbitraryJSON(searchReport)
case cmd.Flags().Changed("format"):
- renderHeaders = parse.HasTable(searchOptions.Format)
+ renderHeaders = report.HasTable(searchOptions.Format)
row = report.NormalizeFormat(searchOptions.Format)
default:
row = "{{.Index}}\t{{.Name}}\t{{.Description}}\t{{.Stars}}\t{{.Official}}\t{{.Automated}}\n"
}
- format := parse.EnforceRange(row)
+ format := report.EnforceRange(row)
- tmpl, err := template.New("search").Parse(format)
+ tmpl, err := report.NewTemplate("search").Parse(format)
+ if err != nil {
+ return err
+ }
+
+ w, err := report.NewWriterDefault(os.Stdout)
if err != nil {
return err
}
- w := tabwriter.NewWriter(os.Stdout, 8, 2, 2, ' ', 0)
defer w.Flush()
if renderHeaders {
diff --git a/cmd/podman/images/trust_show.go b/cmd/podman/images/trust_show.go
index 5d9376068..c0e56f504 100644
--- a/cmd/podman/images/trust_show.go
+++ b/cmd/podman/images/trust_show.go
@@ -3,9 +3,8 @@ package images
import (
"fmt"
"os"
- "text/tabwriter"
- "text/template"
+ "github.com/containers/common/pkg/report"
"github.com/containers/podman/v3/cmd/podman/common"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/pkg/domain/entities"
@@ -45,16 +44,16 @@ func init() {
}
func showTrust(cmd *cobra.Command, args []string) error {
- report, err := registry.ImageEngine().ShowTrust(registry.Context(), args, showTrustOptions)
+ trust, err := registry.ImageEngine().ShowTrust(registry.Context(), args, showTrustOptions)
if err != nil {
return err
}
if showTrustOptions.Raw {
- fmt.Println(string(report.Raw))
+ fmt.Println(string(trust.Raw))
return nil
}
if showTrustOptions.JSON {
- b, err := json.MarshalIndent(report.Policies, "", " ")
+ b, err := json.MarshalIndent(trust.Policies, "", " ")
if err != nil {
return err
}
@@ -62,14 +61,18 @@ func showTrust(cmd *cobra.Command, args []string) error {
return nil
}
- row := "{{.RepoName}}\t{{.Type}}\t{{.GPGId}}\t{{.SignatureStore}}\n"
- format := "{{range . }}" + row + "{{end}}"
- tmpl, err := template.New("listContainers").Parse(format)
+ format := "{{range . }}{{.RepoName}}\t{{.Type}}\t{{.GPGId}}\t{{.SignatureStore}}\n{{end -}}"
+ tmpl, err := report.NewTemplate("list").Parse(format)
if err != nil {
return err
}
- w := tabwriter.NewWriter(os.Stdout, 8, 2, 2, ' ', 0)
- if err := tmpl.Execute(w, report.Policies); err != nil {
+
+ w, err := report.NewWriterDefault(os.Stdout)
+ if err != nil {
+ return err
+ }
+
+ if err := tmpl.Execute(w, trust.Policies); err != nil {
return err
}
if err := w.Flush(); err != nil {