]> git.decadent.org.uk Git - dak.git/blobdiff - dak/acl.py
Merge remote-tracking branch 'nthykier/auto-decruft'
[dak.git] / dak / acl.py
index 397bf9c11a4e554220fbd073d60723823aa76edf..a6fdddd953c041d13bd74a348bc9aec3fb7d8975 100644 (file)
@@ -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)