Mercurial > p > roundup > code
annotate roundup/backends/sessions_common.py @ 7658:d30e534b078a
clarify doc on dispatcher_email config setting.
An issue was brought up on the mailing list.
https://sourceforge.net/p/roundup/mailman/message/43383465/
The description of dispatcher_email sounds like it should be sent
email on issue creation. That's not it's role. Try to make it's role
more obvious.
Fix config.ini and reference.txt description.
Add the newissuecopy.py detector to send email on the creation of an
issue
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 10 Oct 2023 20:33:22 -0400 |
| parents | b04e44db7d8d |
| children |
| rev | line source |
|---|---|
|
6823
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 import base64, logging |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 import roundup.anypy.random_ as random_ |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 from roundup.anypy.strings import b2s |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 logger = logging.getLogger('roundup.hyperdb.backend.sessions') |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 if not random_.is_weak: |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 logger.debug("Importing good random generator") |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 else: |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 logger.warning("**SystemRandom not available. Using poor random generator") |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 class SessionCommon: |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 def log_debug(self, msg, *args, **kwargs): |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 """Log a message with level DEBUG.""" |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 logger = self.get_logger() |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 logger.debug(msg, *args, **kwargs) |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 def log_info(self, msg, *args, **kwargs): |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 """Log a message with level INFO.""" |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 logger = self.get_logger() |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 logger.info(msg, *args, **kwargs) |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 def log_warning(self, msg, *args, **kwargs): |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 """Log a message with level INFO.""" |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 logger = self.get_logger() |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 logger.warning(msg, *args, **kwargs) |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
31 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 def get_logger(self): |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 """Return the logger for this database.""" |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
35 # Because getting a logger requires acquiring a lock, we want |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 # to do it only once. |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 if not hasattr(self, '__logger'): |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
38 self.__logger = logging.getLogger('roundup.hyperdb.backends.%s' % |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 self.name or "basicdb" ) |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 return self.__logger |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
42 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
43 def getUniqueKey(self, length=40): |
|
6825
b04e44db7d8d
Modify unique token to use url safe characters.
John Rouillard <rouilj@ieee.org>
parents:
6823
diff
changeset
|
44 otk = b2s(base64.urlsafe_b64encode( |
|
6823
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
45 random_.token_bytes(length))).rstrip('=') |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
46 while self.exists(otk): |
|
6825
b04e44db7d8d
Modify unique token to use url safe characters.
John Rouillard <rouilj@ieee.org>
parents:
6823
diff
changeset
|
47 otk = b2s(base64.urlsafe_b64encode( |
|
6823
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
48 random_.token_bytes(length))).rstrip('=') |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
49 |
|
fe0091279f50
Refactor session db logging and key generation for sessions/otks
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
50 return otk |
