view scripts/dump_dbm_sessions_db.py @ 6578:b1f1539c6a31

issue2551182 - ... allow loading values from external file. flake8 cleanups Secrets (passwords, secrets) can specify a file using file:// or file:///. The first line of the file is used as the secret. This allows committing config.ini to a VCS. Following settings are changed: [tracker] secret_key [tracker] jwt_secret [rdbms] password [mail] password details: in roundup/configuration.py: Defined SecretMandatoryOptions and SecretNullableOptions. Converted all secret keys and password to one of the above. Also if [mail] username is defined but [mail] password is not it throws an error at load. Cleaned up a couple of methods whose call signature included: def ...(..., settings={}): settings=None and it is set to empty dict inside the method. Also replace exception.message with str(exception) for python3 compatibility. in test/test_config: changed munge_configini to support changing only within a section, replacing keyword text.
author John Rouillard <rouilj@ieee.org>
date Mon, 03 Jan 2022 22:18:57 -0500
parents 61481d7bbb07
children 1188bb423f92
line wrap: on
line source

#! /usr/bin/env python3
"""Usage: dump_dbm_sessions_db.py [filename]

Simple script to dump the otks and sessions dbm databases.  Dumps
sessions db in current directory if no argument is given.

Dump format:

   key: <timestamp> data

where <timestamp> is the human readable __timestamp decoded from the
data object.

"""

import dbm, marshal, sys
from datetime import datetime

try:
  file = sys.argv[1]
except IndexError:
  file="sessions"

try:
   db = dbm.open(file)
except Exception:
   print("Unable to open database: %s"%file)
   exit(1)

k = db.firstkey()
while k is not None:
    d = marshal.loads(db[k])
    t = datetime.fromtimestamp(d['__timestamp'])
    print("%s: %s %s"%(k, t, d))
    k = db.nextkey(k)

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