X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fadmin.py;h=0de7cd69751ea92336fcb780b6b3dec00f8b37ea;hb=5814e84874cf5fb0566c157173315faa376915fd;hp=798aa3b7b8948a8652760111d5e196e20b505de8;hpb=1321b77d07db1c22cd028c83937817ede40479a9;p=dak.git diff --git a/dak/admin.py b/dak/admin.py index 798aa3b7..0de7cd69 100755 --- a/dak/admin.py +++ b/dak/admin.py @@ -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) + archive rename OLD NEW rename archive OLD to NEW version-check / v-c: v-c list show version checks for all suites @@ -429,10 +430,23 @@ def archive_rm(name): 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() + elif mode == 'rename': + archive_rename(command[2], command[3]) elif mode == 'add': archive_add(command[2:]) elif mode == 'rm': @@ -556,6 +570,8 @@ def show_config(command): print "PGPORT=%s" % cnf["DB::Port"] e.append('PGPORT') print "export " + " ".join(e) + elif mode == 'get': + print cnf.get(args[2]) else: session = DBConn().session() try: