diff options
Diffstat (limited to 'tools/mmd/MmdSession.py')
-rw-r--r-- | tools/mmd/MmdSession.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tools/mmd/MmdSession.py b/tools/mmd/MmdSession.py index ff92684..2dda34e 100644 --- a/tools/mmd/MmdSession.py +++ b/tools/mmd/MmdSession.py @@ -16,12 +16,12 @@ class Session: self.status = 'anon' self.headers = [] self.db = Db () - data = self.db.sessionFind (session_id) - if not data: + s = self.db.sessionFind (session_id) + if not s: self.db.sessionInit (self.session_id, self.email, int (time.strftime ('%s')) + timeout) else: - self.email = data[1] - self.status = data[2] + self.email = s['email'] + self.status = s['status'] def addHeader (self, header): self.headers.append (header) @@ -37,11 +37,15 @@ class Session: self.status = status self.db.sessionSetStatus (self.session_id, self.status) + def authenticate (self, user): + self.setEmail (user.email) + self.setStatus ('auth') + def valid (self): data = self.db.sessionFind (self.session_id) if not data: return False - if data[3] < int (time.strftime ('%s')): + if data['expires'] < int (time.strftime ('%s')): return False return True @@ -76,6 +80,9 @@ class Session: def getQsConfirm (self): return self.getField ('confirm') + def getQsCode (self): + return self.getField ('code') + def getField (self, field): try: return escape (self.qs.get (field)[0]) |