annotate roundup/anypy/dbm_.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 d5da643b3d25
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4360
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 # In Python 3 the "anydbm" module was renamed to be "dbm" which is now a
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # package containing the various implementations. The "wichdb" module's
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # whichdb() function was moved to the new "dbm" module.
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 try:
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 # old school first because <3 had a "dbm" module too...
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 import anydbm
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 from whichdb import whichdb
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 except ImportError:
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 # python 3+
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 import dbm as anydbm
661466ba19cd add missing file
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 whichdb = anydbm.whichdb

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