view website/www/code.txt @ 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 45e8d10a9609
children 6f5054751fb6
line wrap: on
line source

Code
====

Project history is maintained in `CHANGES.txt <https://sourceforge.net/p/roundup/code/ci/tip/tree/CHANGES.txt>`_
file in code repository of Roundup, which can also be viewed online
through SourceForge `web interface <https://sourceforge.net/p/roundup/code/ci/default/tree/>`_.

Get sources
-----------

Official **read-only access** to Mercurial repository is provided through ::

  hg clone http://hg.code.sf.net/p/roundup/code roundup

**Read/write access** requires SSH password or SSH key
authorization (see `SourceForge.net docs for details
<https://sourceforge.net/p/forge/documentation/Mercurial/>`_) ::

  hg clone ssh://USERNAME@hg.code.sf.net/p/roundup/code roundup

You also need to be added as a Roundup developer for write access - ask
for it on the :doc:`roundup-devel list <contact>`.

Run demo
--------

Roundup doesn't need any dependencies and works out of the box. Demo
is accessible at http://localhost:8917/demo/ by default ::

  cd roundup
  python demo.py

Execute tests
-------------
::

  python run_tests.py

See repository `README.txt <https://sourceforge.net/p/roundup/code/ci/tip/tree/README.txt>`_
for more info.

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