コード例 #1
0
 async def main_handler(self, request: web.Request, session: Session):
     available_rooms = {
         room
         for room in GameRoom.instances.values()
         if room.manager.unregistered_players
     }
     if user := session.get('user'):
         joined_rooms = {
             room
             for room in GameRoom.instances.values()
             if user in room.manager.users_players
         }
コード例 #2
0
def user_permitted(session: Session):
    """

    :param session:
    :return:
    """
    # Regular users have user role '0' hence not permitted?
    permitted = session.get(
        'user_role') if 'user_role' in session else DEFAULT_KGE_USER_ROLE
    return not session.empty and permitted
コード例 #3
0
ファイル: helpers.py プロジェクト: cpwr/mediasite
def redirect_to_next_url(request: web.Request,
                         session: Session,
                         role: int) -> Optional[web.Response]:
    """Redirect to originally request URL if session contains it.
    Before redirect remove that URL from session, so user will not be
    redirected again on next request.
    """
    key = build_next_url_key(role)
    url = session.get(key)
    if url:
        del session[key]
        return web.HTTPFound(url)
コード例 #4
0
def get_id(session: Session) -> (str, None):
    """Return client ID if it exists; else None."""
    return session.get(CLIENT_ID_KEY)
コード例 #5
0
def _logged_in(s: Session) -> bool:
    return 'user' in s or s.get('user') is not None
コード例 #6
0
 async def wrapper(self, request: web.Request, session: Session):
     if not session.get('user', ''):
         raise web.HTTPFound(
             request.app.router['login'].url_for().with_query(
                 {'next': request.url.raw_path_qs}))
     return await request_handler(self, request, session)