remove img-type

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
This commit is contained in:
Antonio Murdaca
2016-02-29 11:27:43 +01:00
parent 7d7fb3c4b0
commit e5d9bee80c
2 changed files with 29 additions and 14 deletions

View File

@@ -2,34 +2,54 @@ package main
import ( import (
"fmt" "fmt"
"strings"
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
"github.com/runcom/skopeo/docker" "github.com/runcom/skopeo/docker"
"github.com/runcom/skopeo/types" "github.com/runcom/skopeo/types"
) )
type imgKind int
const ( const (
imgTypeDocker = "docker" imgTypeDocker = "docker://"
imgTypeAppc = "appc" imgTypeAppc = "appc://"
kindUnknown = iota
kindDocker
kindAppc
) )
func getImgType(img string) imgKind {
if strings.HasPrefix(img, imgTypeDocker) {
return kindDocker
}
if strings.HasPrefix(img, imgTypeAppc) {
return kindAppc
}
// TODO(runcom): v2 will support this
//return kindUnknown
return kindDocker
}
func inspect(c *cli.Context) (*types.ImageInspect, error) { func inspect(c *cli.Context) (*types.ImageInspect, error) {
var ( var (
imgInspect *types.ImageInspect imgInspect *types.ImageInspect
err error err error
name = c.Args().First() name = c.Args().First()
imgType = c.GlobalString("img-type") kind = getImgType(name)
) )
switch imgType {
case imgTypeDocker: switch kind {
imgInspect, err = docker.GetData(c, name) case kindDocker:
imgInspect, err = docker.GetData(c, strings.Replace(name, imgTypeDocker, "", -1))
if err != nil { if err != nil {
return nil, err return nil, err
} }
case imgTypeAppc: case kindAppc:
return nil, fmt.Errorf("sorry, not implemented yet") return nil, fmt.Errorf("not implemented yet")
default: default:
return nil, fmt.Errorf("%s image type is invalid, please use either 'docker' or 'appc'", imgType) return nil, fmt.Errorf("%s image is invalid, please use either 'docker://' or 'appc://'", name)
} }
return imgInspect, nil return imgInspect, nil
} }

View File

@@ -52,11 +52,6 @@ func main() {
Value: cliconfig.ConfigDir(), Value: cliconfig.ConfigDir(),
Usage: "Docker's cli config for auth", Usage: "Docker's cli config for auth",
}, },
cli.StringFlag{
Name: "img-type",
Value: imgTypeDocker,
Usage: "Either docker or appc",
},
} }
app.Before = func(c *cli.Context) error { app.Before = func(c *cli.Context) error {
if c.GlobalBool("debug") { if c.GlobalBool("debug") {