Example #1
0
    def get_data(self):
        """Returns the user list if any change has been made since the last time
        the current user has queried the list.
        """
        userid = request_util.get_param(self.request, 'id')
        if not userid:
            raise Exception("Param 'id' is required")

        username = request_util.get_param(self.request, 'user')
        highscore = request_util.get_param(self.request, 'highscore', 0)

        init = request_util.get_param(self.request, 'init', 'false')
        data = []
        lastupdate = USERS['users'].get(userid, {}).get('updated', 0)
        self.request.user = userid
        self.add_user(userid, username, highscore)
        if lastupdate != USERS['update_key'] or init == 'true':
            data = self.get_user_list()
            USERS['users'][self.request.user]['updated'] = USERS['update_key']
            data['action'] = 'ping'
            if init == 'true':
                USERS['users'][self.request.user]['state'] = ''

        # test contact action if any
        contact_action = ContactAction(self.request)
        contact_request = contact_action.get_contact_request_for(userid)
        if contact_request:
            return {'action': 'contact_request', 'other': contact_request}

        return data
Example #2
0
 def get_data(self):
     """Returns the user list if any change has been made since the last time
     the current user has queried the list.
     """
     userid = request_util.get_param(self.request, 'id')
     if not userid:
         raise Exception("Param 'id' is required")
     
     username = request_util.get_param(self.request, 'user')
     highscore = request_util.get_param(self.request, 'highscore', 0)
     
     init = request_util.get_param(self.request, 'init', 'false')
     data = []
     lastupdate = USERS['users'].get(userid, {}).get('updated', 0)
     self.request.user = userid
     self.add_user(userid, username, highscore)
     if lastupdate != USERS['update_key'] or init == 'true':
         data = self.get_user_list()
         USERS['users'][self.request.user]['updated'] = USERS['update_key']
         data['action'] = 'ping'
         if init == 'true':
             USERS['users'][self.request.user]['state'] = ''
     
     # test contact action if any
     contact_action = ContactAction(self.request)
     contact_request = contact_action.get_contact_request_for(userid)
     if contact_request:
         return {'action': 'contact_request', 'other': contact_request}
      
     return data 
 def _read_params(self):
     requesting_user = request_util.get_param(self.request, 'id')
     requested_user = request_util.get_param(self.request, 'other')
     if not requesting_user:
         raise Exception("Param 'id' is required")
     if not requested_user:
         raise Exception("Param 'other' is required")
     return requesting_user, requested_user
Example #4
0
 def _read_params(self):
     requesting_user = request_util.get_param(self.request, 'id')
     requested_user = request_util.get_param(self.request, 'other')
     if not requesting_user:
         raise Exception("Param 'id' is required")
     if not requested_user:
         raise Exception("Param 'other' is required")
     return requesting_user, requested_user
Example #5
0
 def get_data(self):
     userid = request_util.get_param(self.request, 'id')
     if not userid:
         raise Exception("parameter 'id' is required")
     state = request_util.get_param(self.request, 'state', '')
     user = USERS['users'].get(userid)
     if user:
         user['state'] = state
         USERS['update_key'] = USERS['update_key'] + 1
     return {'action': 'changestate', 'newstate': state}
 def get_data(self):
     userid = request_util.get_param(self.request, 'id')
     if not userid:
         raise Exception("parameter 'id' is required")
     state = request_util.get_param(self.request, 'state', '')
     user = USERS['users'].get(userid)
     if user:
         user['state'] = state
         USERS['update_key'] = USERS['update_key'] + 1
     return {'action': 'changestate', 'newstate': state }
Example #7
0
def user_seen(request, has_been_seen):
    """Marks a user as seen, updating her keepalive timestamp.
    """
    userid = get_param(request, 'id')
    if userid:
        user = USERS['users'].get(userid)
        if user and has_been_seen:
            user['last_seen'] = time.time()
        garbage_collect_users()
Example #8
0
def user_seen(request, has_been_seen):
    """Marks a user as seen, updating her keepalive timestamp.
    """
    userid = get_param(request, 'id')
    if userid:
        user = USERS['users'].get(userid)
        if user and has_been_seen:
            user['last_seen'] = time.time()
        garbage_collect_users()
Example #9
0
def needs_keepalive(request):
    """Tells whether user needs a keep alive query or not.
    """
    now = time.time()
    userid = get_param(request, 'id')
    if not userid:
        raise Exception("Param 'id' is required")
    if userid in USERS['users'] and 'last_seen' in USERS['users'][userid]:
        last_seen = USERS['users'][userid]['last_seen']
        if now - KEEP_ALIVE_MAX_AGE > last_seen:
            return True
    return False
def needs_keepalive(request):
    """Tells whether user needs a keep alive query or not.
    """
    now = time.time()
    userid = get_param(request, 'id')
    if not userid:
        raise Exception("Param 'id' is required")
    if userid in USERS['users'] and 'last_seen' in USERS['users'][userid]: 
        last_seen = USERS['users'][userid]['last_seen']
        if now - KEEP_ALIVE_MAX_AGE > last_seen:
            return True
    return False