pkg: truncindex: provide more info in error

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
This commit is contained in:
Antonio Murdaca 2016-03-17 15:53:12 +01:00
parent 8bbe3de4b3
commit ae1002219b
1 changed files with 11 additions and 5 deletions

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