示例#1
0
文件: session.py 项目: taras1k/blog
 def __getitem__(self, sessionid):
     with connection.start_request() as request:
         s = self.collection.find_one({_id: sessionid})
         if not s:
             raise KeyError(sessionid)
         self.collection.update({_id: sessionid}, {'$set': {_atime: time()}}, safe=True)
         return self.decode(s[_data])
示例#2
0
文件: session.py 项目: taras1k/blog
 def cleanup(self, timeout):
     '''
     Removes all sessions older than ``timeout`` seconds.
     Called automatically on every session access.
     '''
     cutoff = time() - timeout
     with connection.start_request() as request:
         self.collection.remove({_atime: {'$lt': cutoff}})
示例#3
0
文件: base.py 项目: taras1k/blog
 def find(self, query):
     with connection.start_request() as request:
         return self.collection.find(query)
示例#4
0
文件: base.py 项目: taras1k/blog
 def remove(self, db_object):
     with connection.start_request() as request:
         self.collection.remove(db_object)
示例#5
0
文件: session.py 项目: taras1k/blog
 def __delitem__(self, sessionid):
     with connection.start_request() as request:
         self.collection.remove({_id: sessionid}, safe=True)
示例#6
0
文件: session.py 项目: taras1k/blog
 def __setitem__(self, sessionid, sessiondict):
     data = self.encode(sessiondict)
     with connection.start_request() as request:
         self.collection.save({_id: sessionid, _data: data, _atime: time()}, safe=True)
示例#7
0
文件: session.py 项目: taras1k/blog
 def __contains__(self, sessionid):
     with connection.start_request() as request:
         return bool(self.collection.find_one({_id: sessionid}))
示例#8
0
文件: users.py 项目: taras1k/blog
def register(**kwargs):
    with connection.start_request() as request:
        user = collection.save(kwargs)
        return user
示例#9
0
文件: users.py 项目: taras1k/blog
def authenticate(username, password):
    with connection.start_request() as request:
        user = collection.find_one({'username':username, 'password':pswd(password)})
        return user if user else None