X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Facl.py;h=a6fdddd953c041d13bd74a348bc9aec3fb7d8975;hb=fdbef587c29814f97c192de5a8b7e9f09cc45fa4;hp=397bf9c11a4e554220fbd073d60723823aa76edf;hpb=878714a85b639d2a3ca858d72f7cefa228900478;p=dak.git diff --git a/dak/acl.py b/dak/acl.py index 397bf9c1..a6fdddd9 100644 --- a/dak/acl.py +++ b/dak/acl.py @@ -55,7 +55,7 @@ def get_fingerprint(entry, session): @return: fingerprint for the entry """ field, value = entry.split(":", 1) - q = session.query(Fingerprint) + q = session.query(Fingerprint).join(Fingerprint.keyring).filter(Keyring.active == True) if field == 'uid': q = q.join(Fingerprint.uid).filter(Uid.uid == value) @@ -64,7 +64,7 @@ def get_fingerprint(entry, session): elif field == 'fpr': q = q.filter(Fingerprint.fingerprint == value) elif field == 'keyring': - q = q.join(Fingerprint.keyring).filter(Keyring.keyring_name == value) + q = q.filter(Keyring.keyring_name == value) else: raise Exception('Unknown selector "{0}".'.format(field)) @@ -77,6 +77,9 @@ def acl_set_fingerprints(acl_name, entries): acl.fingerprints.clear() for entry in entries: entry = entry.strip() + if entry.startswith('#') or len(entry) == 0: + continue + fps = get_fingerprint(entry, session) if len(fps) == 0: print "Unknown key for '{0}'".format(entry)