Commit 0ac3e455 authored by Seblu's avatar Seblu
Browse files

list now use new syntax spec

parent 6fda3bf8
Loading
Loading
Loading
Loading
+10 −37
Original line number Diff line number Diff line
@@ -197,44 +197,17 @@ def c_list(parser, args):
    List images in repository or image content
    '''
    # List available repositories
    if len(args.values) == 0:
    repoman = load_repositories(args)
    if len(args.object) == 0:
        arrow("Repositories")
        repoman.show(verbose=args.detail)
        return
    # list direct image or reposity content
    elif len(args.values) == 1:
        # list image file content
        if (istools.isfile(args.values[0]) and os.path.isfile(args.values[0])):
            pkg = PackageImage(args.values[0])
            arrow("Image %s v%s" % (pkg.name, pkg.version))
            pkg.show(verbose=args.detail)
        # list repository content
    else:
            args.repo_filter = args.values[0]
            repoman = load_repositories(args)
            for repo in repoman:
                arrow("Image in %s" % repo.config.name)
                repo.show(args.detail)
        return
    # list last image version
    elif len(args.values) == 2:
        args.repo_filter = args.values[0]
        args.image = args.values[1]
        args.image_version = None
    # list specific image version
    elif len(args.values) == 3:
        args.repo_filter = args.values[0]
        args.image = args.values[1]
        args.image_version = args.values[2]
        for o in args.object:
            if o in repoman:
                repoman[o].show(verbose=args.detail)
            else:
        args.subparser.print_usage()
        exit(1)
    # display content of image accross a repositories
    repoman = load_repositories(args)
    pkg = repoman.get(args.image, args.image_version)
    arrow("Image %s v%s" % (pkg.name, pkg.version))
    pkg.show(verbose=args.detail)
                img, repo = select_image(o, repoman)
                img.show(verbose=args.detail)

def c_move(parser, args):
    '''
@@ -376,8 +349,8 @@ p_install.set_defaults(func=c_install, subparser=p_install)
p_list = subparsers.add_parser("list", help=c_list.__doc__.lower())
p_list.add_argument("-l", action="store_true", dest="detail",
                    default=False, help="detailled list output")
p_list.add_argument("values", nargs="*",
                    help="image or repositories to list")
p_list.add_argument("object", nargs="*",
                    help="object can be an image or repositories")
p_list.set_defaults(func=c_list, subparser=p_list)

# move command parser
+9 −0
Original line number Diff line number Diff line
@@ -518,6 +518,15 @@ class RepositoryManager(object):
        else:
            raise TypeError

    def __contains__(self, key):
        '''
        Check if a key is a repository name
        '''
        for r in self.repos:
            if r.config.name == key:
                return True
        return False

    def register(self, config):
        '''
        Register a repository from its config