Mercurial > p > roundup > code
view roundup/backends/sessions_common.py @ 8478:ed4ef394d5d6
doc: initial attempt to document setup of pgp support for email.
Used an AI assistant to help write this. Basic gpg commands seem to
work, but I have not tested this totally. Docs basically follow the
setup used for pgp testing in the test suite.
It looks like roundup accepts signed emails as well as encrypted
and signed emails. But it does not generate signed emails.
Also it looks like there is no PGP support for alternate email
addresses. Only primary addresses can do PGP emails.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 15 Nov 2025 16:59:24 -0500 |
| parents | b04e44db7d8d |
| children | be128eb0a4e1 |
line wrap: on
line source
import base64, logging import roundup.anypy.random_ as random_ from roundup.anypy.strings import b2s logger = logging.getLogger('roundup.hyperdb.backend.sessions') if not random_.is_weak: logger.debug("Importing good random generator") else: logger.warning("**SystemRandom not available. Using poor random generator") class SessionCommon: def log_debug(self, msg, *args, **kwargs): """Log a message with level DEBUG.""" logger = self.get_logger() logger.debug(msg, *args, **kwargs) def log_info(self, msg, *args, **kwargs): """Log a message with level INFO.""" logger = self.get_logger() logger.info(msg, *args, **kwargs) def log_warning(self, msg, *args, **kwargs): """Log a message with level INFO.""" logger = self.get_logger() logger.warning(msg, *args, **kwargs) def get_logger(self): """Return the logger for this database.""" # Because getting a logger requires acquiring a lock, we want # to do it only once. if not hasattr(self, '__logger'): self.__logger = logging.getLogger('roundup.hyperdb.backends.%s' % self.name or "basicdb" ) return self.__logger def getUniqueKey(self, length=40): otk = b2s(base64.urlsafe_b64encode( random_.token_bytes(length))).rstrip('=') while self.exists(otk): otk = b2s(base64.urlsafe_b64encode( random_.token_bytes(length))).rstrip('=') return otk
