Beispiel #1
0
def extract_session_message(mID):
    if (not mID) or (not messageDict.has_key(mID)):
        return ''
    else:
        message = messageDict[mID]['message']
        messageDict[mID]['message'] = ''
        messageDict[mID]['time'] = datetime.datetime.now()
        return message
        
Beispiel #2
0
 def get(self, mID, *args):
     lang = 'en'
     if args:
         lang = args[0]
     message = ''
     if messageDict.has_key(mID):
         logging.error('mID found')
         message = messageDict[mID]['message']
         messageDict[mID]['message'] = ''
         messageDict[mID]['time'] = datetime.datetime.now()
     self.render('mainpage.html', message = message, lang = lang);
Beispiel #3
0
def generate_mID(handler):
    #this function creates a new session
    #assign a random ID, then check if that ID is already in the dictionary,
    #keep assigning a new one if it is in the dictionary
    #The dictionary data must be scrubbed _before_ the cookie expires,
    #else a new cookie with the same mID with an expired one might get access to the old data
    mID = hex(int(random.random()*1e9))[2:]
    while messageDict.has_key(mID):
        mID = hex(int(random.random()*1e9))[2:]
    #set a cookie with session ID (mID),
    #then check session dictionary for old cookie infos, and clean them
    handler.response.set_cookie('mID', securify_cookie(mID), expires = (datetime.datetime.now() + datetime.timedelta(days = 1)), path = '/')
    threshhold = datetime.datetime.now() - datetime.timedelta(days = 0.75)
    for k, v in messageDict.items():
        if v['time'] < threshhold:
            messageDict.pop(k)
    return mID
Beispiel #4
0
def assign_session_message(handler, mID, message):
    if (not mID) or (not messageDict.has_key(mID)):
        mID = generate_mID(handler)
    messageDict[mID] = {'message':message, 'time':datetime.datetime.now()}