aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tools/session.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/tools/session.py')
-rw-r--r--mediagoblin/tools/session.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/mediagoblin/tools/session.py b/mediagoblin/tools/session.py
index ccf96443..d79afb66 100644
--- a/mediagoblin/tools/session.py
+++ b/mediagoblin/tools/session.py
@@ -21,10 +21,11 @@ import crypto
_log = logging.getLogger(__name__)
+MAX_AGE = 30 * 24 * 60 * 60
+
class Session(dict):
def __init__(self, *args, **kwargs):
self.send_new_cookie = False
- self.max_age = None
dict.__init__(self, *args, **kwargs)
def save(self):
@@ -65,5 +66,10 @@ class SessionManager(object):
elif not session:
response.delete_cookie(self.cookie_name)
else:
+ if session.get('stay_logged_in', False):
+ max_age = MAX_AGE
+ else:
+ max_age = None
+
response.set_cookie(self.cookie_name, self.signer.dumps(session),
- max_age=session.max_age, httponly=True)
+ max_age=max_age, httponly=True)