diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2014-01-10 08:56:54 +0100 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2014-01-10 08:56:54 +0100 |
commit | b89c1e927cf177768f56cc7ab4b4306a7bdb529c (patch) | |
tree | 9a6ed2fed85430a7f9032c5597001acbad8f6384 | |
parent | b78e4f39cce3db553f856f293f2660c87a007e9e (diff) | |
download | hyperkitty-WIP.tar.gz hyperkitty-WIP.tar.xz hyperkitty-WIP.zip |
WIPWIP
-rw-r--r-- | hyperkitty/middleware.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/hyperkitty/middleware.py b/hyperkitty/middleware.py index 59bd3af..2a8fb77 100644 --- a/hyperkitty/middleware.py +++ b/hyperkitty/middleware.py @@ -156,7 +156,7 @@ class MailmanUserMetadata(object): return if not request.user.email: return # Can this really happen? - if self.session_key in request.session: + if "subscribed" in request.session and "user_id" in request.session: return # Already set client = MailmanClient('%s/3.0' % settings.MAILMAN_REST_SERVER, @@ -164,7 +164,13 @@ class MailmanUserMetadata(object): settings.MAILMAN_API_PASS) try: user = client.get_user(request.user.email) - except (MailmanConnectionError, HTTPError): + except MailmanConnectionError: return - request.session[self.session_key] = \ + except HTTPError, err: + if err.code == 404: + user = client.create_user(request.user.email,"") + else: + return + request.session["user_id"] = user.user_id + request.session["subscribed"] = \ [ s.address for s in user.subscriptions ] |