diff --git a/progit/lib/__init__.py b/progit/lib/__init__.py index 684f311..c3aa458 100644 --- a/progit/lib/__init__.py +++ b/progit/lib/__init__.py @@ -912,89 +912,3 @@ def avatar_url_from_openid(openid, size=64, default='retro', dns=False): query = urllib.urlencode({'s': size, 'd': default}) hash = hashlib.sha256(openid).hexdigest() return "https://seccdn.libravatar.org/avatar/%s?%s" % (hash, query) - - -def get_session_by_visitkey(session, sessionid): - ''' Return a specified VisitUser via its session identifier (visit_key). - - :arg session: the session with which to connect to the database. - - ''' - query = session.query( - model.ProgitUserVisit - ).filter( - model.ProgitUserVisit.visit_key == sessionid - ) - - return query.first() - - -def get_groups(session): - ''' Return the list of groups present in the database. - - :arg session: the session with which to connect to the database. - - ''' - query = session.query( - model.ProgitGroup - ).order_by( - model.ProgitGroup.group_name - ) - - return query.all() - - -def get_group(session, group): - ''' Return a specific group for the specified group name. - - :arg session: the session with which to connect to the database. - - ''' - query = session.query( - model.ProgitGroup - ).filter( - model.ProgitGroup.group_name == group - ).order_by( - model.ProgitGroup.group_name - ) - - return query.first() - - -def get_users_by_group(session, group): - ''' Return the list of users for a specified group. - - :arg session: the session with which to connect to the database. - - ''' - query = session.query( - model.User - ).filter( - model.User.id == model.ProgitUserGroup.user_id - ).filter( - model.ProgitUserGroup.group_id == model.ProgitGroup.id - ).filter( - model.ProgitGroup.group_name == group - ).order_by( - model.User.user - ) - - return query.all() - - -def get_user_group(session, userid, groupid): - ''' Return a specific user_group for the specified group and user - identifiers. - - :arg session: the session with which to connect to the database. - - ''' - query = session.query( - model.ProgitUserGroup - ).filter( - model.ProgitUserGroup.user_id == userid - ).filter( - model.ProgitUserGroup.group_id == groupid - ) - - return query.first() diff --git a/progit/lib/login.py b/progit/lib/login.py new file mode 100644 index 0000000..646613c --- /dev/null +++ b/progit/lib/login.py @@ -0,0 +1,97 @@ +#-*- coding: utf-8 -*- + +""" + (c) 2015 - Copyright Red Hat Inc + + Authors: + Pierre-Yves Chibon + +""" + +from progit.lib import model + + +def get_session_by_visitkey(session, sessionid): + ''' Return a specified VisitUser via its session identifier (visit_key). + + :arg session: the session with which to connect to the database. + + ''' + query = session.query( + model.ProgitUserVisit + ).filter( + model.ProgitUserVisit.visit_key == sessionid + ) + + return query.first() + + +def get_groups(session): + ''' Return the list of groups present in the database. + + :arg session: the session with which to connect to the database. + + ''' + query = session.query( + model.ProgitGroup + ).order_by( + model.ProgitGroup.group_name + ) + + return query.all() + + +def get_group(session, group): + ''' Return a specific group for the specified group name. + + :arg session: the session with which to connect to the database. + + ''' + query = session.query( + model.ProgitGroup + ).filter( + model.ProgitGroup.group_name == group + ).order_by( + model.ProgitGroup.group_name + ) + + return query.first() + + +def get_users_by_group(session, group): + ''' Return the list of users for a specified group. + + :arg session: the session with which to connect to the database. + + ''' + query = session.query( + model.User + ).filter( + model.User.id == model.ProgitUserGroup.user_id + ).filter( + model.ProgitUserGroup.group_id == model.ProgitGroup.id + ).filter( + model.ProgitGroup.group_name == group + ).order_by( + model.User.user + ) + + return query.all() + + +def get_user_group(session, userid, groupid): + ''' Return a specific user_group for the specified group and user + identifiers. + + :arg session: the session with which to connect to the database. + + ''' + query = session.query( + model.ProgitUserGroup + ).filter( + model.ProgitUserGroup.user_id == userid + ).filter( + model.ProgitUserGroup.group_id == groupid + ) + + return query.first()