X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fadmin.py;h=eb765a660cb00ac807e0daaee0305539eeaf3662;hb=c7cd84ed41a5b670db475483b5ed3016931c223d;hp=1cf80f2855a414d858fb1a7777a2101c9d5a2ccf;hpb=0d4f6d79a7c4f326537d30b21b5fb5852917f2ee;p=dak.git diff --git a/dak/admin.py b/dak/admin.py index 1cf80f28..eb765a66 100755 --- a/dak/admin.py +++ b/dak/admin.py @@ -25,7 +25,6 @@ import apt_pkg from daklib import utils from daklib.dbconn import * -from daklib.config import Config ################################################################################ @@ -65,6 +64,10 @@ Perform administrative work on the dak database. If SUITELIST is given, add to each of the suites at the same time + suite / s: + s list show a list of suites + s show SUITE show config details for a suite + suite-architecture / s-a: s-a list-suite ARCH show the suites an ARCH is in s-a list-arch SUITE show the architectures in a SUITE @@ -151,6 +154,49 @@ dispatch['a'] = architecture ################################################################################ +def __suite_list(d, args): + s = d.session() + for j in s.query(Suite).order_by('suite_name').all(): + print j.suite_name + +def __suite_show(d, args): + if len(args) < 2: + die("E: showing an suite entry requires a suite") + + s = d.session() + su = get_suite(args[2].lower()) + if su is None: + die("E: can't find suite entry for %s" % (args[2].lower())) + + print su.details() + +def suite(command): + args = [str(x) for x in command] + Cnf = utils.get_conf() + d = DBConn() + + die_arglen(args, 2, "E: suite needs at least a command") + + mode = args[1].lower() + + if mode == 'list': + __suite_list(d, args) + elif mode == 'show': + __suite_show(d, args) + else: + die("E: suite command unknown") + +dispatch['suite'] = suite +dispatch['s'] = suite + +################################################################################ + +def __suite_architecture_list(d, args): + s = d.session() + for j in s.query(Suite).order_by('suite_name').all(): + print j.suite_name + ' ' + \ + ','.join([a.architecture.arch_string for a in j.suitearchitectures]) + def __suite_architecture_listarch(d, args): die_arglen(args, 3, "E: suite-architecture list-arch requires a suite") a = get_suite_architectures(args[2].lower()) @@ -210,7 +256,7 @@ def __suite_architecture_rm(d, args): except SQLAlchemyError, e: die("E: Can't remove suite-architecture entry (%s, %s) - %s" % (args[2].lower(), args[3].lower(), e)) - print "Removed suite-architecture entry for %s, %s" % (args[2].lower(), args[3].lower()) + print "Removed suite-architecture entry for %s, %s" % (args[2].lower(), args[3].lower()) def suite_architecture(command): @@ -222,7 +268,9 @@ def suite_architecture(command): mode = args[1].lower() - if mode == 'list-arch': + if mode == 'list': + __suite_architecture_list(d, args) + elif mode == 'list-arch': __suite_architecture_listarch(d, args) elif mode == 'list-suite': __suite_architecture_listsuite(d, args)