]> git.decadent.org.uk Git - dak.git/commitdiff
Add archive rename command
authorTollef Fog Heen <tfheen@varnish-software.com>
Thu, 22 Nov 2012 14:06:56 +0000 (15:06 +0100)
committerAnsgar Burchardt <ansgar@debian.org>
Sat, 24 Nov 2012 17:57:39 +0000 (18:57 +0100)
Make it possible to rename archives using

     dak admin archive rename OLD NEW

Signed-off-by: Tollef Fog Heen <tfheen@varnish-software.com>
dak/admin.py

index 8ba79797bdaf6345e6d5b1c3bd0206c8c3313c08..0de7cd69751ea92336fcb780b6b3dec00f8b37ea 100755 (executable)
@@ -103,6 +103,7 @@ Perform administrative work on the dak database.
                             primary mirror MIRROR.
      archive rm NAME        remove archive NAME (will only work if there are
                             no files and no suites in the archive)
                             primary mirror MIRROR.
      archive rm NAME        remove archive NAME (will only work if there are
                             no files and no suites in the archive)
+     archive rename OLD NEW rename archive OLD to NEW
 
   version-check / v-c:
      v-c list                        show version checks for all suites
 
   version-check / v-c:
      v-c list                        show version checks for all suites
@@ -429,10 +430,23 @@ def archive_rm(name):
     else:
         session.commit()
 
     else:
         session.commit()
 
+def archive_rename(oldname, newname):
+    session = DBConn().session()
+    archive = get_archive(oldname, session)
+    archive.archive_name = newname
+    session.flush()
+
+    if dryrun:
+        session.rollback()
+    else:
+        session.commit()
+
 def archive(command):
     mode = command[1]
     if mode == 'list':
         archive_list()
 def archive(command):
     mode = command[1]
     if mode == 'list':
         archive_list()
+    elif mode == 'rename':
+        archive_rename(command[2], command[3])
     elif mode == 'add':
         archive_add(command[2:])
     elif mode == 'rm':
     elif mode == 'add':
         archive_add(command[2:])
     elif mode == 'rm':