aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-01-17 12:47:18 +0100
committerGitHub <noreply@github.com>2022-01-17 12:47:18 +0100
commit26cf6c82c82cbf45afe5998e4a881b9f52202a01 (patch)
tree170843a2f0b612944ba592b60e5a76257afb1743
parentea2656dc8658f99a0e9be2342557763e974513b9 (diff)
parent6bca61e0f137a38543f7ce23abcd90e058d9defd (diff)
downloadpodman-26cf6c82c82cbf45afe5998e4a881b9f52202a01.tar.gz
podman-26cf6c82c82cbf45afe5998e4a881b9f52202a01.tar.bz2
podman-26cf6c82c82cbf45afe5998e4a881b9f52202a01.zip
Merge pull request #12882 from jmguzik/unify-filters-cmd
Unify the method of parsing filters in cmd
-rw-r--r--cmd/podman/containers/prune.go4
-rw-r--r--cmd/podman/images/prune.go4
-rw-r--r--cmd/podman/networks/list.go14
-rw-r--r--cmd/podman/networks/prune.go4
-rw-r--r--pkg/specgenutil/util.go15
5 files changed, 12 insertions, 29 deletions
diff --git a/cmd/podman/containers/prune.go b/cmd/podman/containers/prune.go
index e13b9e7f6..f58e37fd1 100644
--- a/cmd/podman/containers/prune.go
+++ b/cmd/podman/containers/prune.go
@@ -9,11 +9,11 @@ import (
"github.com/containers/common/pkg/completion"
"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/cmd/podman/utils"
"github.com/containers/podman/v3/cmd/podman/validate"
"github.com/containers/podman/v3/pkg/domain/entities"
- "github.com/containers/podman/v3/pkg/specgenutil"
"github.com/spf13/cobra"
)
@@ -64,7 +64,7 @@ func prune(cmd *cobra.Command, args []string) error {
}
}
- pruneOptions.Filters, err = specgenutil.ParseFilters(filter)
+ pruneOptions.Filters, err = parse.FilterArgumentsIntoFilters(filter)
if err != nil {
return err
}
diff --git a/cmd/podman/images/prune.go b/cmd/podman/images/prune.go
index fc7451c41..e4c320a55 100644
--- a/cmd/podman/images/prune.go
+++ b/cmd/podman/images/prune.go
@@ -8,11 +8,11 @@ import (
"github.com/containers/common/pkg/completion"
"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/cmd/podman/utils"
"github.com/containers/podman/v3/cmd/podman/validate"
"github.com/containers/podman/v3/pkg/domain/entities"
- "github.com/containers/podman/v3/pkg/specgenutil"
"github.com/spf13/cobra"
)
@@ -66,7 +66,7 @@ func prune(cmd *cobra.Command, args []string) error {
return nil
}
}
- filterMap, err := specgenutil.ParseFilters(filter)
+ filterMap, err := parse.FilterArgumentsIntoFilters(filter)
if err != nil {
return err
}
diff --git a/cmd/podman/networks/list.go b/cmd/podman/networks/list.go
index b84c9f5d3..be61d72d8 100644
--- a/cmd/podman/networks/list.go
+++ b/cmd/podman/networks/list.go
@@ -10,10 +10,10 @@ import (
"github.com/containers/common/pkg/completion"
"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/cmd/podman/validate"
"github.com/containers/podman/v3/pkg/domain/entities"
- "github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
@@ -61,14 +61,12 @@ func init() {
}
func networkList(cmd *cobra.Command, args []string) error {
- networkListOptions.Filters = make(map[string][]string)
- for _, f := range filters {
- split := strings.SplitN(f, "=", 2)
- if len(split) == 1 {
- return errors.Errorf("invalid filter %q", f)
- }
- networkListOptions.Filters[split[0]] = append(networkListOptions.Filters[split[0]], split[1])
+ var err error
+ networkListOptions.Filters, err = parse.FilterArgumentsIntoFilters(filters)
+ if err != nil {
+ return err
}
+
responses, err := registry.ContainerEngine().NetworkList(registry.Context(), networkListOptions)
if err != nil {
return err
diff --git a/cmd/podman/networks/prune.go b/cmd/podman/networks/prune.go
index 311d098cd..e113cd359 100644
--- a/cmd/podman/networks/prune.go
+++ b/cmd/podman/networks/prune.go
@@ -7,11 +7,11 @@ import (
"strings"
"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/cmd/podman/utils"
"github.com/containers/podman/v3/cmd/podman/validate"
"github.com/containers/podman/v3/pkg/domain/entities"
- "github.com/containers/podman/v3/pkg/specgenutil"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
@@ -68,7 +68,7 @@ func networkPrune(cmd *cobra.Command, _ []string) error {
return nil
}
}
- networkPruneOptions.Filters, err = specgenutil.ParseFilters(filter)
+ networkPruneOptions.Filters, err = parse.FilterArgumentsIntoFilters(filter)
if err != nil {
return err
}
diff --git a/pkg/specgenutil/util.go b/pkg/specgenutil/util.go
index 9389a98a5..0a980a576 100644
--- a/pkg/specgenutil/util.go
+++ b/pkg/specgenutil/util.go
@@ -38,21 +38,6 @@ func ReadPodIDFiles(files []string) ([]string, error) {
return ids, nil
}
-// ParseFilters transforms one filter format to another and validates input
-func ParseFilters(filter []string) (map[string][]string, error) {
- // TODO Remove once filter refactor is finished and url.Values done.
- filters := map[string][]string{}
- for _, f := range filter {
- t := strings.SplitN(f, "=", 2)
- filters = make(map[string][]string)
- if len(t) < 2 {
- return map[string][]string{}, errors.Errorf("filter input must be in the form of filter=value: %s is invalid", f)
- }
- filters[t[0]] = append(filters[t[0]], t[1])
- }
- return filters, nil
-}
-
// CreateExpose parses user-provided exposed port definitions and converts them
// into SpecGen format.
// TODO: The SpecGen format should really handle ranges more sanely - we could