From 35d88f3c3a2ea50856aba290997bfcd513bd0071 Mon Sep 17 00:00:00 2001
From: Seblu <sebastien.luttringer@smartjog.com>
Date: Wed, 24 Aug 2011 17:34:22 +0200
Subject: [PATCH] Command move use new style

---
 bin/is | 39 ++++++++++++++++++++++-----------------
 1 file changed, 22 insertions(+), 17 deletions(-)

diff --git a/bin/is b/bin/is
index 3a5beb9..fa117a4 100755
--- a/bin/is
+++ b/bin/is
@@ -253,19 +253,24 @@ def c_move(parser, args):
     '''
     # 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)
+    dstrepo = repoman[args.repository]
+    for image in args.image:
+        srcimg, srcrepo = select_image(image, repoman)
+        if not args.force:
+            out("You will move %s v%s from %s to %s" % (srcimg.name,
+                                                        srcimg.version,
+                                                        srcrepo.config.name,
+                                                        dstrepo.config.name))
+            if raw_input("Are you sure (yes) " ) != "yes":
+                raise Exception("Abort")
+        arrow("Moving %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_new(parser, args):
     '''
@@ -395,10 +400,10 @@ p_list.set_defaults(func=c_list, subparser=p_list)
 
 # 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.add_argument("-f", "--force", action="store_true", default=False,
+                    help="move image without confirmation")
+p_move.add_argument("repository", help="name of destination repository")
+p_move.add_argument("image", nargs="+", help="image to move")
 p_move.set_defaults(func=c_move)
 
 # new command parser
-- 
GitLab