annotate roundup/anypy/urllib_.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 7b194e35d332
children 07ce4e4110f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4362
74476eaac38a more modernisation
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1
74476eaac38a more modernisation
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 try:
4996
dfd0bcc947e5 Add comments about supported anypy python versions
John Kristensen <john@jerrykan.com>
parents: 4362
diff changeset
3 # Python 3+
5402
88dbacd11cd1 Python 3 preparation: update urllib / urllib2 / urlparse imports.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5121
diff changeset
4 from urllib.parse import quote, unquote, urlencode, urlparse, parse_qs, \
88dbacd11cd1 Python 3 preparation: update urllib / urllib2 / urlparse imports.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5121
diff changeset
5 urlunparse
88dbacd11cd1 Python 3 preparation: update urllib / urllib2 / urlparse imports.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5121
diff changeset
6 from urllib.request import urlopen
6023
7b194e35d332 flak8 fixes: replace bare except with except ImportError
John Rouillard <rouilj@ieee.org>
parents: 5402
diff changeset
7 except ImportError:
4996
dfd0bcc947e5 Add comments about supported anypy python versions
John Kristensen <john@jerrykan.com>
parents: 4362
diff changeset
8 # Python 2.5-2.7
5402
88dbacd11cd1 Python 3 preparation: update urllib / urllib2 / urlparse imports.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5121
diff changeset
9 from urllib import quote, unquote, urlencode
88dbacd11cd1 Python 3 preparation: update urllib / urllib2 / urlparse imports.
Joseph Myers <jsm@polyomino.org.uk>
parents: 5121
diff changeset
10 from urllib2 import urlopen
5121
894aa07be6cb issue2550785: Using login from search (or logout) fails. when
John Rouillard <rouilj@ieee.org>
parents: 4996
diff changeset
11 from urlparse import urlparse, parse_qs, urlunparse

Roundup Issue Tracker: http://roundup-tracker.org/