X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=25398981ffb83912c5e1603da961860a38f9d087;hb=a95c2b25c7bf4a55a78e273c2cb133ff93019306;hp=5b5dc5bc707f375a5027cf75777e47ec41b23ee7;hpb=116d60e8e849644ace31f5d5c05465e4f2d83494;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 5b5dc5bc..25398981 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -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):