]> git.donarmstrong.com Git - dak.git/blobdiff - daklib/dbconn.py
Merge remote branch 'ftpmaster/master'
[dak.git] / daklib / dbconn.py
index f314b3f7ef37a2defaf51c6b127c269265bac648..25398981ffb83912c5e1603da961860a38f9d087 100755 (executable)
@@ -752,7 +752,7 @@ class BuildQueue(object):
             # Crude hack with open and append, but this whole section is and should be redone.
             if self.notautomatic:
                 release=open("Release", "a")
-                release.write("NotAutomatic: yes")
+                release.write("NotAutomatic: yes\n")
                 release.close()
 
             # Sign if necessary
@@ -1777,6 +1777,34 @@ def get_keyring(keyring, session=None):
 
 __all__.append('get_keyring')
 
+@session_wrapper
+def get_active_keyring_paths(session=None):
+    """
+    @rtype: list
+    @return: list of active keyring paths
+    """
+    return [ x.keyring_name for x in session.query(Keyring).filter(Keyring.active == True).order_by(desc(Keyring.priority)).all() ]
+
+__all__.append('get_active_keyring_paths')
+
+@session_wrapper
+def get_primary_keyring_path(session=None):
+    """
+    Get the full path to the highest priority active keyring
+
+    @rtype: str or None
+    @return: path to the active keyring with the highest priority or None if no
+             keyring is configured
+    """
+    keyrings = get_active_keyring_paths()
+
+    if len(keyrings) > 0:
+        return keyrings[0]
+    else:
+        return None
+
+__all__.append('get_primary_keyring_path')
+
 ################################################################################
 
 class KeyringACLMap(object):
@@ -2640,7 +2668,8 @@ def split_uploaders(uploaders_list):
     Split the Uploaders field into the individual uploaders and yield each of
     them. Beware: email addresses might contain commas.
     '''
-    for uploader in uploaders_list.replace(">, ", ">\t").split("\t"):
+    import re
+    for uploader in re.sub(">[ ]*,", ">\t", uploaders_list).split("\t"):
         yield uploader.strip()
 
 @session_wrapper