pkg: truncindex: provide more info in error

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: ae1002219bc5d602c552ba952bc45e440cf3aae7
Component: engine
This commit is contained in:
Antonio Murdaca
2016-03-17 15:53:12 +01:00
parent 89a6d49dd4
commit 24be9013fa

View File

@ -16,10 +16,6 @@ var (
// ErrEmptyPrefix is an error returned if the prefix was empty.
ErrEmptyPrefix = errors.New("Prefix can't be empty")
// ErrAmbiguousPrefix is returned if the prefix was ambiguous
// (multiple ids for the prefix).
ErrAmbiguousPrefix = errors.New("Multiple IDs found with provided prefix")
// ErrIllegalChar is returned when a space is in the ID
ErrIllegalChar = errors.New("illegal character: ' '")
@ -27,6 +23,16 @@ var (
ErrNotExist = errors.New("ID does not exist")
)
// ErrAmbiguousPrefix is returned if the prefix was ambiguous
// (multiple ids for the prefix).
type ErrAmbiguousPrefix struct {
prefix string
}
func (e ErrAmbiguousPrefix) Error() string {
return fmt.Sprintf("Multiple IDs found with provided prefix: %s", e.prefix)
}
// TruncIndex allows the retrieval of string identifiers by any of their unique prefixes.
// This is used to retrieve image and container IDs by more convenient shorthand prefixes.
type TruncIndex struct {
@ -105,7 +111,7 @@ func (idx *TruncIndex) Get(s string) (string, error) {
if id != "" {
// we haven't found the ID if there are two or more IDs
id = ""
return ErrAmbiguousPrefix
return ErrAmbiguousPrefix{prefix: string(prefix)}
}
id = string(prefix)
return nil