Loading bin/is +122 −122 Original line number Diff line number Diff line Loading @@ -71,11 +71,15 @@ def select_image(name, repoman): else: return repoman[repo].get(image, version), repoman[repo] def c_new(parser, args): def c_add(parser, args): ''' Create a new source image Add an image package into a repository ''' SourceImage.create(args.path) repoman = load_repositories(args) repo = repoman[args.repository] for image in args.path: pkg = PackageImage(image) repo.add(pkg, delete=not args.preserve) def c_build(parser, args): ''' Loading @@ -92,23 +96,44 @@ def c_build(parser, args): dt = int(t1 - t0) arrow("Build time: %s" % datetime.timedelta(seconds=dt)) def c_init(parser, args): def c_cat(parser, args): ''' Create an empty repository Display image's file(s) ''' # looks if arguments is a file or image name if istools.isfile(args.image) and os.path.isfile(args.image): pkg = PackageImage(istools.abspath(args.image)) elif PackageImage.check_image_name(args.image): # get image package repoman = load_repositories(args) for reponame in args.repository: repoman[reponame].init() pkg = repoman.get(args.image, args.image_version) for filename in args.files: pkg.cat(filename) def c_add(parser, args): def c_clean(parser, args): ''' Add an image package into a repository Clean a repository ''' raise NotImplementedError("Not yet implemented") def c_copy(parser, args): ''' Copy an image from a repository to another one ''' # load repositories repoman = load_repositories(args) repo = repoman[args.repository] for image in args.path: pkg = PackageImage(image) repo.add(pkg, delete=not args.preserve) srcrepo = repoman[args.repo_src] dstrepo = repoman[args.repo_dst] # load source image srcimg = srcrepo.get(args.image, args.image_version) # Advertise arrow("Copying %s v%s from %s to %s" % (srcimg.name, srcimg.version, srcrepo.config.name, dstrepo.config.name)) arrowlevel(1) dstrepo.add(srcimg) arrowlevel(-1) def c_del(parser, args): ''' Loading @@ -129,6 +154,29 @@ def c_del(parser, args): if raw_input("Are you sure (yes)" ) == "yes": repo.delete(img.name, img.version) def c_get(parser, args): ''' Get a remove image in current directory ''' raise NotImplementedError("Not yet implemented") def c_help(parser, args): ''' Show help ''' if args.command not in args.subparser.choices: parser.print_help() else: args.subparser.choices[args.command].print_help() def c_init(parser, args): ''' Create an empty repository ''' repoman = load_repositories(args) for reponame in args.repository: repoman[reponame].init() def c_install(parser, args): ''' Install an image Loading Loading @@ -203,58 +251,6 @@ def c_list(parser, args): arrow("Image %s v%s" % (pkg.name, pkg.version)) pkg.show(verbose=args.detail) def c_cat(parser, args): ''' Display image's file(s) ''' # looks if arguments is a file or image name if istools.isfile(args.image) and os.path.isfile(args.image): pkg = PackageImage(istools.abspath(args.image)) elif PackageImage.check_image_name(args.image): # get image package repoman = load_repositories(args) pkg = repoman.get(args.image, args.image_version) for filename in args.files: pkg.cat(filename) def c_search(parser, args): ''' Search in repository ''' repoman = load_repositories(args) repoman.search(args.pattern) def c_get(parser, args): ''' Get a remove image in current directory ''' raise NotImplementedError("Not yet implemented") def c_clean(parser, args): ''' Clean a repository ''' raise NotImplementedError("Not yet implemented") def c_copy(parser, args): ''' Copy an image from a repository to another one ''' # load repositories repoman = load_repositories(args) srcrepo = repoman[args.repo_src] dstrepo = repoman[args.repo_dst] # load source image srcimg = srcrepo.get(args.image, args.image_version) # Advertise arrow("Copying %s v%s from %s to %s" % (srcimg.name, srcimg.version, srcrepo.config.name, dstrepo.config.name)) arrowlevel(1) dstrepo.add(srcimg) arrowlevel(-1) def c_move(parser, args): ''' Move an image from a repository to another one Loading @@ -275,14 +271,18 @@ def c_move(parser, args): srcrepo.delete(srcimg.name, srcimg.version) arrowlevel(-1) def c_help(parser, args): def c_new(parser, args): ''' Show help Create a new source image ''' if args.command not in args.subparser.choices: parser.print_help() else: args.subparser.choices[args.command].print_help() SourceImage.create(args.path) def c_search(parser, args): ''' Search in repository ''' repoman = load_repositories(args) repoman.search(args.pattern) def c_version(parser, args): ''' Loading Loading @@ -320,10 +320,14 @@ p_main.add_argument("-t", "--timeout", dest="timeout", type=int, default=3, # create a subparsers for each command subparsers = p_main.add_subparsers() # new command parser p_new = subparsers.add_parser("new", help=c_new.__doc__.lower()) p_new.add_argument("path", help="path of new image directory") p_new.set_defaults(func=c_new) # add command parser p_add = subparsers.add_parser("add", help=c_add.__doc__.lower()) p_add.add_argument("-p", "--preserve", action="store_true", default=False, help="don't remove image after adding to database") p_add.add_argument("repository", help="repository where image will be added") p_add.add_argument("path", nargs="+", help="image path") p_add.set_defaults(func=c_add) # build command parser p_build = subparsers.add_parser("build", help=c_build.__doc__.lower()) Loading @@ -334,20 +338,25 @@ p_build.add_argument("-c", "--no-check", action="store_true", default=False, p_build.add_argument("path", nargs="?", default=".") p_build.set_defaults(func=c_build) # init command parser p_init = subparsers.add_parser("init", help=c_init.__doc__.lower()) p_init.add_argument("repository", nargs="+", help="repository's name to initialize") p_init.set_defaults(func=c_init) # cat command parser p_cat = subparsers.add_parser("cat", help=c_cat.__doc__.lower()) p_cat.add_argument("-v", "--image-version", type=int, default=None, help="image version") p_cat.add_argument("image", help="image (path or name)") p_cat.add_argument("files", nargs="+", help="files to cat") p_cat.set_defaults(func=c_cat) # add command parser p_add = subparsers.add_parser("add", help=c_add.__doc__.lower()) p_add.add_argument("-p", "--preserve", action="store_true", default=False, help="don't remove image after adding to database") p_add.add_argument("repository", help="repository where image will be added") p_add.add_argument("path", nargs="+", help="image path") p_add.set_defaults(func=c_add) # clean command parser p_clean = subparsers.add_parser("clean", help=c_clean.__doc__.lower()) p_clean.set_defaults(func=c_clean) # copy command parser p_copy = subparsers.add_parser("copy", help=c_copy.__doc__.lower()) p_copy.add_argument("repo_src", help="name of source repository") p_copy.add_argument("repo_dst", help="name of destination repository") p_copy.add_argument("image", help="image name") p_copy.add_argument("image_version", nargs="?", help="image version") p_copy.set_defaults(func=c_copy) # del command parser p_del = subparsers.add_parser("del", help=c_del.__doc__.lower()) Loading @@ -357,6 +366,21 @@ p_del.add_argument("-f", "--force", action="store_true", default=False, help="delete image without confirmation") p_del.set_defaults(func=c_del) # get command parser p_get = subparsers.add_parser("get", help=c_get.__doc__.lower()) p_get.set_defaults(func=c_get) # help command parser p_help = subparsers.add_parser("help", help=c_help.__doc__.lower()) p_help.add_argument("command", nargs="?", help="command name") p_help.set_defaults(func=c_help, subparser=subparsers) # init command parser p_init = subparsers.add_parser("init", help=c_init.__doc__.lower()) p_init.add_argument("repository", nargs="+", help="repository's name to initialize") p_init.set_defaults(func=c_init) # install command parser p_install = subparsers.add_parser("install", add_help=False, help=c_install.__doc__.lower()) Loading @@ -375,35 +399,6 @@ p_list.add_argument("values", nargs="*", help="image or repositories to list") p_list.set_defaults(func=c_list, subparser=p_list) # cat command parser p_cat = subparsers.add_parser("cat", help=c_cat.__doc__.lower()) p_cat.add_argument("-v", "--image-version", type=int, default=None, help="image version") p_cat.add_argument("image", help="image (path or name)") p_cat.add_argument("files", nargs="+", help="files to cat") p_cat.set_defaults(func=c_cat) # search command parser p_search = subparsers.add_parser("search", help=c_search.__doc__.lower()) p_search.add_argument("pattern", help="search pattern in repository") p_search.set_defaults(func=c_search) # get command parser p_get = subparsers.add_parser("get", help=c_get.__doc__.lower()) p_get.set_defaults(func=c_get) # clean command parser p_clean = subparsers.add_parser("clean", help=c_clean.__doc__.lower()) p_clean.set_defaults(func=c_clean) # copy command parser p_copy = subparsers.add_parser("copy", help=c_copy.__doc__.lower()) p_copy.add_argument("repo_src", help="name of source repository") p_copy.add_argument("repo_dst", help="name of destination repository") p_copy.add_argument("image", help="image name") p_copy.add_argument("image_version", nargs="?", help="image version") p_copy.set_defaults(func=c_copy) # move command parser p_move = subparsers.add_parser("move", help=c_move.__doc__.lower()) p_move.add_argument("repo_src", help="name of source repository") Loading @@ -412,10 +407,15 @@ p_move.add_argument("image", help="image name") p_move.add_argument("image_version", nargs="?", help="image version") p_move.set_defaults(func=c_move) # help command parser p_help = subparsers.add_parser("help", help=c_help.__doc__.lower()) p_help.add_argument("command", nargs="?", help="command name") p_help.set_defaults(func=c_help, subparser=subparsers) # new command parser p_new = subparsers.add_parser("new", help=c_new.__doc__.lower()) p_new.add_argument("path", help="path of new image directory") p_new.set_defaults(func=c_new) # search command parser p_search = subparsers.add_parser("search", help=c_search.__doc__.lower()) p_search.add_argument("pattern", help="search pattern in repository") p_search.set_defaults(func=c_search) # version command parser p_version = subparsers.add_parser("version", help=c_version.__doc__.lower()) Loading Loading
bin/is +122 −122 Original line number Diff line number Diff line Loading @@ -71,11 +71,15 @@ def select_image(name, repoman): else: return repoman[repo].get(image, version), repoman[repo] def c_new(parser, args): def c_add(parser, args): ''' Create a new source image Add an image package into a repository ''' SourceImage.create(args.path) repoman = load_repositories(args) repo = repoman[args.repository] for image in args.path: pkg = PackageImage(image) repo.add(pkg, delete=not args.preserve) def c_build(parser, args): ''' Loading @@ -92,23 +96,44 @@ def c_build(parser, args): dt = int(t1 - t0) arrow("Build time: %s" % datetime.timedelta(seconds=dt)) def c_init(parser, args): def c_cat(parser, args): ''' Create an empty repository Display image's file(s) ''' # looks if arguments is a file or image name if istools.isfile(args.image) and os.path.isfile(args.image): pkg = PackageImage(istools.abspath(args.image)) elif PackageImage.check_image_name(args.image): # get image package repoman = load_repositories(args) for reponame in args.repository: repoman[reponame].init() pkg = repoman.get(args.image, args.image_version) for filename in args.files: pkg.cat(filename) def c_add(parser, args): def c_clean(parser, args): ''' Add an image package into a repository Clean a repository ''' raise NotImplementedError("Not yet implemented") def c_copy(parser, args): ''' Copy an image from a repository to another one ''' # load repositories repoman = load_repositories(args) repo = repoman[args.repository] for image in args.path: pkg = PackageImage(image) repo.add(pkg, delete=not args.preserve) srcrepo = repoman[args.repo_src] dstrepo = repoman[args.repo_dst] # load source image srcimg = srcrepo.get(args.image, args.image_version) # Advertise arrow("Copying %s v%s from %s to %s" % (srcimg.name, srcimg.version, srcrepo.config.name, dstrepo.config.name)) arrowlevel(1) dstrepo.add(srcimg) arrowlevel(-1) def c_del(parser, args): ''' Loading @@ -129,6 +154,29 @@ def c_del(parser, args): if raw_input("Are you sure (yes)" ) == "yes": repo.delete(img.name, img.version) def c_get(parser, args): ''' Get a remove image in current directory ''' raise NotImplementedError("Not yet implemented") def c_help(parser, args): ''' Show help ''' if args.command not in args.subparser.choices: parser.print_help() else: args.subparser.choices[args.command].print_help() def c_init(parser, args): ''' Create an empty repository ''' repoman = load_repositories(args) for reponame in args.repository: repoman[reponame].init() def c_install(parser, args): ''' Install an image Loading Loading @@ -203,58 +251,6 @@ def c_list(parser, args): arrow("Image %s v%s" % (pkg.name, pkg.version)) pkg.show(verbose=args.detail) def c_cat(parser, args): ''' Display image's file(s) ''' # looks if arguments is a file or image name if istools.isfile(args.image) and os.path.isfile(args.image): pkg = PackageImage(istools.abspath(args.image)) elif PackageImage.check_image_name(args.image): # get image package repoman = load_repositories(args) pkg = repoman.get(args.image, args.image_version) for filename in args.files: pkg.cat(filename) def c_search(parser, args): ''' Search in repository ''' repoman = load_repositories(args) repoman.search(args.pattern) def c_get(parser, args): ''' Get a remove image in current directory ''' raise NotImplementedError("Not yet implemented") def c_clean(parser, args): ''' Clean a repository ''' raise NotImplementedError("Not yet implemented") def c_copy(parser, args): ''' Copy an image from a repository to another one ''' # load repositories repoman = load_repositories(args) srcrepo = repoman[args.repo_src] dstrepo = repoman[args.repo_dst] # load source image srcimg = srcrepo.get(args.image, args.image_version) # Advertise arrow("Copying %s v%s from %s to %s" % (srcimg.name, srcimg.version, srcrepo.config.name, dstrepo.config.name)) arrowlevel(1) dstrepo.add(srcimg) arrowlevel(-1) def c_move(parser, args): ''' Move an image from a repository to another one Loading @@ -275,14 +271,18 @@ def c_move(parser, args): srcrepo.delete(srcimg.name, srcimg.version) arrowlevel(-1) def c_help(parser, args): def c_new(parser, args): ''' Show help Create a new source image ''' if args.command not in args.subparser.choices: parser.print_help() else: args.subparser.choices[args.command].print_help() SourceImage.create(args.path) def c_search(parser, args): ''' Search in repository ''' repoman = load_repositories(args) repoman.search(args.pattern) def c_version(parser, args): ''' Loading Loading @@ -320,10 +320,14 @@ p_main.add_argument("-t", "--timeout", dest="timeout", type=int, default=3, # create a subparsers for each command subparsers = p_main.add_subparsers() # new command parser p_new = subparsers.add_parser("new", help=c_new.__doc__.lower()) p_new.add_argument("path", help="path of new image directory") p_new.set_defaults(func=c_new) # add command parser p_add = subparsers.add_parser("add", help=c_add.__doc__.lower()) p_add.add_argument("-p", "--preserve", action="store_true", default=False, help="don't remove image after adding to database") p_add.add_argument("repository", help="repository where image will be added") p_add.add_argument("path", nargs="+", help="image path") p_add.set_defaults(func=c_add) # build command parser p_build = subparsers.add_parser("build", help=c_build.__doc__.lower()) Loading @@ -334,20 +338,25 @@ p_build.add_argument("-c", "--no-check", action="store_true", default=False, p_build.add_argument("path", nargs="?", default=".") p_build.set_defaults(func=c_build) # init command parser p_init = subparsers.add_parser("init", help=c_init.__doc__.lower()) p_init.add_argument("repository", nargs="+", help="repository's name to initialize") p_init.set_defaults(func=c_init) # cat command parser p_cat = subparsers.add_parser("cat", help=c_cat.__doc__.lower()) p_cat.add_argument("-v", "--image-version", type=int, default=None, help="image version") p_cat.add_argument("image", help="image (path or name)") p_cat.add_argument("files", nargs="+", help="files to cat") p_cat.set_defaults(func=c_cat) # add command parser p_add = subparsers.add_parser("add", help=c_add.__doc__.lower()) p_add.add_argument("-p", "--preserve", action="store_true", default=False, help="don't remove image after adding to database") p_add.add_argument("repository", help="repository where image will be added") p_add.add_argument("path", nargs="+", help="image path") p_add.set_defaults(func=c_add) # clean command parser p_clean = subparsers.add_parser("clean", help=c_clean.__doc__.lower()) p_clean.set_defaults(func=c_clean) # copy command parser p_copy = subparsers.add_parser("copy", help=c_copy.__doc__.lower()) p_copy.add_argument("repo_src", help="name of source repository") p_copy.add_argument("repo_dst", help="name of destination repository") p_copy.add_argument("image", help="image name") p_copy.add_argument("image_version", nargs="?", help="image version") p_copy.set_defaults(func=c_copy) # del command parser p_del = subparsers.add_parser("del", help=c_del.__doc__.lower()) Loading @@ -357,6 +366,21 @@ p_del.add_argument("-f", "--force", action="store_true", default=False, help="delete image without confirmation") p_del.set_defaults(func=c_del) # get command parser p_get = subparsers.add_parser("get", help=c_get.__doc__.lower()) p_get.set_defaults(func=c_get) # help command parser p_help = subparsers.add_parser("help", help=c_help.__doc__.lower()) p_help.add_argument("command", nargs="?", help="command name") p_help.set_defaults(func=c_help, subparser=subparsers) # init command parser p_init = subparsers.add_parser("init", help=c_init.__doc__.lower()) p_init.add_argument("repository", nargs="+", help="repository's name to initialize") p_init.set_defaults(func=c_init) # install command parser p_install = subparsers.add_parser("install", add_help=False, help=c_install.__doc__.lower()) Loading @@ -375,35 +399,6 @@ p_list.add_argument("values", nargs="*", help="image or repositories to list") p_list.set_defaults(func=c_list, subparser=p_list) # cat command parser p_cat = subparsers.add_parser("cat", help=c_cat.__doc__.lower()) p_cat.add_argument("-v", "--image-version", type=int, default=None, help="image version") p_cat.add_argument("image", help="image (path or name)") p_cat.add_argument("files", nargs="+", help="files to cat") p_cat.set_defaults(func=c_cat) # search command parser p_search = subparsers.add_parser("search", help=c_search.__doc__.lower()) p_search.add_argument("pattern", help="search pattern in repository") p_search.set_defaults(func=c_search) # get command parser p_get = subparsers.add_parser("get", help=c_get.__doc__.lower()) p_get.set_defaults(func=c_get) # clean command parser p_clean = subparsers.add_parser("clean", help=c_clean.__doc__.lower()) p_clean.set_defaults(func=c_clean) # copy command parser p_copy = subparsers.add_parser("copy", help=c_copy.__doc__.lower()) p_copy.add_argument("repo_src", help="name of source repository") p_copy.add_argument("repo_dst", help="name of destination repository") p_copy.add_argument("image", help="image name") p_copy.add_argument("image_version", nargs="?", help="image version") p_copy.set_defaults(func=c_copy) # move command parser p_move = subparsers.add_parser("move", help=c_move.__doc__.lower()) p_move.add_argument("repo_src", help="name of source repository") Loading @@ -412,10 +407,15 @@ p_move.add_argument("image", help="image name") p_move.add_argument("image_version", nargs="?", help="image version") p_move.set_defaults(func=c_move) # help command parser p_help = subparsers.add_parser("help", help=c_help.__doc__.lower()) p_help.add_argument("command", nargs="?", help="command name") p_help.set_defaults(func=c_help, subparser=subparsers) # new command parser p_new = subparsers.add_parser("new", help=c_new.__doc__.lower()) p_new.add_argument("path", help="path of new image directory") p_new.set_defaults(func=c_new) # search command parser p_search = subparsers.add_parser("search", help=c_search.__doc__.lower()) p_search.add_argument("pattern", help="search pattern in repository") p_search.set_defaults(func=c_search) # version command parser p_version = subparsers.add_parser("version", help=c_version.__doc__.lower()) Loading