From: Mark Hymers Date: Fri, 25 Mar 2011 21:14:05 +0000 (+0000) Subject: Add commands to list keyrings X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b0e0cacf61b1468bae70a4d2f71941784bd85fb8;p=dak Add commands to list keyrings Signed-off-by: Mark Hymers --- diff --git a/dak/admin.py b/dak/admin.py index d159651e..1dc7e7bc 100755 --- a/dak/admin.py +++ b/dak/admin.py @@ -61,6 +61,11 @@ Perform administrative work on the dak database. c db-shell show db config in a usable form for psql c NAME show option NAME as set in configuration table + keyring / k: + k list-all list all keyrings + k list-binary list all keyrings with a NULL source acl + k list-source list all keyrings with a non NULL source acl + architecture / a: a list show a list of architectures a rm ARCH remove an architecture (will only work if @@ -469,6 +474,35 @@ dispatch['c'] = show_config ################################################################################ +def show_keyring(command): + args = [str(x) for x in command] + cnf = utils.get_conf() + + die_arglen(args, 2, "E: keyring needs at least a command") + + mode = args[1].lower() + + d = DBConn() + + q = d.session().query(Keyring).filter(Keyring.active == True) + + if mode == 'list-all': + pass + elif mode == 'list-binary': + q = q.filter(Keyring.default_source_acl_id == None) + elif mode == 'list-source': + q = q.filter(Keyring.default_source_acl_id != None) + else: + die("E: keyring command unknown") + + for k in q.all(): + print k.keyring_name + +dispatch['keyring'] = show_keyring +dispatch['k'] = show_keyring + +################################################################################ + def main(): """Perform administrative work on the dak database""" global dryrun