summaryrefslogtreecommitdiff
path: root/src/server/rz_api.py
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-02-10 12:15:35 +0200
committerLV-426 <lv-426@taproot.org.il>2015-02-10 12:15:35 +0200
commit736b1b14817f8e7cfc85d2d14f39c39a186698a1 (patch)
tree060724d86360337b0e6dedaca0fda755a5c289f5 /src/server/rz_api.py
parent669441e8ec328ef793697c4c83af31db8d52a192 (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.py25
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)