filters

package
v1.4.2-0...-a16a1d7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2015 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package filters provides helper function to parse and handle command line filter, used for example in docker ps or docker images commands.

Index

Constants

This section is empty.

Variables

View Source
var ErrBadFormat = errors.New("bad format of filter (expected name=value)")

ErrBadFormat is an error returned in case of bad format for a filter.

Functions

func ToParam

func ToParam(a Args) (string, error)

ToParam packs the Args into an string for easy transport from client to server.

Types

type Args

type Args struct {
	// contains filtered or unexported fields
}

Args stores filter arguments as map key:{array of values}. It contains a aggregation of the list of arguments (which are in the form of -f 'key=value') based on the key, and store values for the same key in an slice. e.g given -f 'label=label1=1' -f 'label=label2=2' -f 'image.name=ubuntu' the args will be {'label': {'label1=1','label2=2'}, 'image.name', {'ubuntu'}}

func FromParam

func FromParam(p string) (Args, error)

FromParam unpacks the filter Args.

func NewArgs

func NewArgs() Args

NewArgs initializes a new Args struct.

func ParseFlag

func ParseFlag(arg string, prev Args) (Args, error)

ParseFlag parses the argument to the filter flag. Like

`docker ps -f 'created=today' -f 'image.name=ubuntu*'`

If prev map is provided, then it is appended to, and returned. By default a new map is created.

func (Args) Add

func (filters Args) Add(name, value string)

Add adds a new value to a filter field.

func (Args) Del

func (filters Args) Del(name, value string)

Del removes a value from a filter field.

func (Args) ExactMatch

func (filters Args) ExactMatch(field, source string) bool

ExactMatch returns true if the source matches exactly one of the filters.

func (Args) Get

func (filters Args) Get(field string) []string

Get returns the list of values associates with a field. It returns a slice of strings to keep backwards compatibility with old code.

func (Args) Include

func (filters Args) Include(field string) bool

Include returns true if the name of the field to filter is in the filters.

func (Args) Len

func (filters Args) Len() int

Len returns the number of fields in the arguments.

func (Args) Match

func (filters Args) Match(field, source string) bool

Match returns true if the values for the specified field matches the source string e.g. given Args are {'label': {'label1=1','label2=1'}, 'image.name', {'ubuntu'}},

field is 'image.name' and source is 'ubuntu'
it returns true.

func (Args) MatchKVList

func (filters Args) MatchKVList(field string, sources map[string]string) bool

MatchKVList returns true if the values for the specified field maches the ones from the sources. e.g. given Args are {'label': {'label1=1','label2=1'}, 'image.name', {'ubuntu'}},

field is 'label' and sources are {'label1': '1', 'label2': '2'}
it returns true.

func (Args) Validate

func (filters Args) Validate(accepted map[string]bool) error

Validate ensures that all the fields in the filter are valid. It returns an error as soon as it finds an invalid field.

func (Args) WalkValues

func (filters Args) WalkValues(field string, op func(value string) error) error

WalkValues iterates over the list of filtered values for a field. It stops the iteration if it finds an error and it returns that error.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL