From bbf865a03e353fefa9381b138f7a488faf961665 Mon Sep 17 00:00:00 2001 From: Seblu <sebastien.luttringer@smartjog.com> Date: Wed, 24 Aug 2011 12:14:27 +0200 Subject: [PATCH] Add a move command --- bin/is | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/bin/is b/bin/is index 9ec371f..7d1c463 100755 --- a/bin/is +++ b/bin/is @@ -252,6 +252,26 @@ def c_copy(parser, args): dstrepo.add(srcimg) arrowlevel(-1) +def c_move(parser, args): + ''' + Move 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) + srcrepo.delete(srcimg.name, srcimg.version) + arrowlevel(-1) + def c_help(parser, args): ''' Show help @@ -388,6 +408,14 @@ 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") +p_move.add_argument("repo_dst", help="name of destination repository") +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", choices=subparsers.choices, nargs="?", -- GitLab