Mercurial > p > roundup > code
annotate frontends/wsgi.py @ 6823:fe0091279f50
Refactor session db logging and key generation for sessions/otks
While I was working on the redis sessiondb stuff, I noticed that
log_wanrning, get_logger ... was duplicated. Also there was code to
generate a unique key for otks that was duplicated.
Changes:
creating new sessions_common.py and SessionsCommon class to provide
methods:
log_warning, log_info, log_debug, get_logger, getUniqueKey
getUniqueKey method is closer to the method used to make
session keys in client.py.
sessions_common.py now report when random_.py chooses a weak
random number generator. Removed same from rest.py.
get_logger reconciles all logging under
roundup.hyperdb.backends.<name of BasicDatabase class>
some backends used to log to root logger.
have BasicDatabase in other sessions_*.py modules inherit from
SessionCommon.
change logging to use log_* methods.
In addition:
remove unused imports reported by flake8 and other formatting
changes
modify actions.py, rest.py, templating.py to use getUniqueKey
method.
add tests for new methods
test_redis_session.py
swap out ModuleNotFoundError for ImportError to prevent crash in
python2 when redis is not present.
allow injection of username:password or just password into redis
connection URL. set pytest_redis_pw envirnment variable to password
or user:password when running test.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 07 Aug 2022 01:51:11 -0400 |
| parents | 285d9adfefdb |
| children |
| rev | line source |
|---|---|
|
6390
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 # If you installed roundup to the system locations |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 # using pip you don't need to change this |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 # section. If you installed roundup in a custom |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 # location, uncomment these lines and change the |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 # path in the append() method to your custom path. |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 #import sys |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 #sys.path.append('/custom/location/where/roundup/is/installed') |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 # Obtain the WSGI request dispatcher |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 from roundup.cgi.wsgi_handler import RequestDispatcher |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 # Set the path to tracker home. |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 tracker_home = '/path/to/tracker' |
|
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 |
|
6747
d32d43e4a5ba
wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents:
6390
diff
changeset
|
15 # Enable the feature flag to speed up wsgi response by caching the |
|
d32d43e4a5ba
wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents:
6390
diff
changeset
|
16 # Roundup tracker instance on startup. See upgrading.txt for |
|
d32d43e4a5ba
wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents:
6390
diff
changeset
|
17 # more info. |
|
d32d43e4a5ba
wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents:
6390
diff
changeset
|
18 feature_flags = { "cache_tracker": "" } |
|
d32d43e4a5ba
wsgi can cache tracker instance enabled by feature flag.
John Rouillard <rouilj@ieee.org>
parents:
6390
diff
changeset
|
19 |
|
6390
7c852cad2ca8
Add wsgi.py to frontends. Update docs.
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 # Definition signature for app: app(environ, start_response): |
|
6776
285d9adfefdb
Update comment to allow use with mod_wsgi
John Rouillard <rouilj@ieee.org>
parents:
6772
diff
changeset
|
21 # If using apache mod_wsgi change app to application. |
| 6772 | 22 app = RequestDispatcher(tracker_home, feature_flags=feature_flags) |
