diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-02-10 12:15:35 +0200 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-02-10 12:15:35 +0200 |
| commit | 736b1b14817f8e7cfc85d2d14f39c39a186698a1 (patch) | |
| tree | 060724d86360337b0e6dedaca0fda755a5c289f5 /src/server/rz_api.py | |
| parent | 669441e8ec328ef793697c4c83af31db8d52a192 (diff) | |
user_db lookup_user__by_email_address() exception handling:
- clarifying the meaning of an 'unknown user' case
- removing code duplication in user_db, sticking to exception raising
Diffstat (limited to 'src/server/rz_api.py')
| -rw-r--r-- | src/server/rz_api.py | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/server/rz_api.py b/src/server/rz_api.py index a3385e56..2b462525 100644 --- a/src/server/rz_api.py +++ b/src/server/rz_api.py @@ -126,15 +126,22 @@ def diff_commit__set(): return __common_exec(op) def index(): + + # fetch rz_username for welcome message email_address = session.get('username') rz_username = "Anonymous Stranger" - # check for stale cookies - if None != email_address and current_app.user_db.has_email(email_address): - uid, u_account = current_app.user_db.lookup_user__by_email_address(email_address) - rz_username = escape(u_account.rz_username) - server_name = current_app.rz_config.SERVER_NAME - if ':' in server_name: - hostname, port = server_name.split(':') - else: - hostname, port = server_name, 80 + if None != email_address: # session cookie passed & contains uid (email_address) + try: + uid, u_account = current_app.user_db.lookup_user__by_email_address(email_address) + rz_username = escape(u_account.rz_username) + except Exception as e: + # may occur on user_db reset or malicious cookie != stale cookie, + # for which the user would at least be known to the user_db + log.exception(e) + + hostname = current_app.rz_config.SERVER_NAME + port = current_app.rz_config.listen_port + if ':' in hostname: + hostname = hostname.split(':')[0] + return render_template('index.html', rz_username=rz_username, hostname=hostname, port=port) |
