diff options
| -rw-r--r-- | src/mailman_pgp/commands/eml_key.py | 4 | ||||
| -rw-r--r-- | src/mailman_pgp/config/config.py | 12 | ||||
| -rw-r--r-- | src/mailman_pgp/database/__init__.py | 6 | ||||
| -rw-r--r-- | src/mailman_pgp/styles/base.py | 18 |
4 files changed, 32 insertions, 8 deletions
diff --git a/src/mailman_pgp/commands/eml_key.py b/src/mailman_pgp/commands/eml_key.py index 1f39888..0775bed 100644 --- a/src/mailman_pgp/commands/eml_key.py +++ b/src/mailman_pgp/commands/eml_key.py @@ -16,6 +16,7 @@ # this program. If not, see <http://www.gnu.org/licenses/>. """The key email command.""" +import logging from email.mime.text import MIMEText from mailman.email.message import UserNotification @@ -38,6 +39,8 @@ from mailman_pgp.workflows.key_change import (CHANGE_CONFIRM_REQUEST, KeyChangeWorkflow) from mailman_pgp.workflows.pubkey import CONFIRM_REQUEST +log = logging.getLogger('mailman.plugin.pgp.commands') + def _cmd_set(pgp_list, mlist, msg, msgdata, arguments, results): """ @@ -345,4 +348,5 @@ class KeyCommand: return ContinueProcessing.no command = SUBCOMMANDS[arguments[0]] + log.debug('key {}'.format(arguments[0])) return command(pgp_list, mlist, msg, msgdata, arguments, results) diff --git a/src/mailman_pgp/config/config.py b/src/mailman_pgp/config/config.py index 0b5fe4f..eea4f43 100644 --- a/src/mailman_pgp/config/config.py +++ b/src/mailman_pgp/config/config.py @@ -16,6 +16,7 @@ # this program. If not, see <http://www.gnu.org/licenses/>. """Mailman PGP configuration module.""" +import logging from configparser import ConfigParser from mailman.config import config as mailman_config @@ -26,6 +27,8 @@ from public.public import public from mailman_pgp.config.converter import ConfigConverter from mailman_pgp.config.validator import ConfigValidator +log = logging.getLogger('mailman.plugin.pgp.config') + @public class Config(ConfigParser): @@ -50,12 +53,19 @@ class Config(ConfigParser): self.name = name self.read(expand_path( dict(mailman_config.plugin_configs)[self.name].configuration)) + log.debug('Config loaded.') def validate(self): - self.validator.validate(self) + try: + self.validator.validate(self) + except ValueError: + log.exception('Config did not validate.') + raise + log.debug('Config validated.') def convert(self): self.dict = self.converter.convert(self) + log.debug('Config converted.') def get_value(self, section, option): return self.dict[section][option] diff --git a/src/mailman_pgp/database/__init__.py b/src/mailman_pgp/database/__init__.py index 11ea387..2bd1feb 100644 --- a/src/mailman_pgp/database/__init__.py +++ b/src/mailman_pgp/database/__init__.py @@ -16,7 +16,7 @@ # this program. If not, see <http://www.gnu.org/licenses/>. """Common database functions and class.""" - +import logging from contextlib import contextmanager from mailman.config import config as mailman_config @@ -29,6 +29,8 @@ from sqlalchemy.orm import scoped_session, sessionmaker from mailman_pgp.config import config from mailman_pgp.model.base import Base +log = logging.getLogger('mailman.plugin.pgp.database') + @public class Database: @@ -37,10 +39,12 @@ class Database: def __init__(self): url = config.get('db', 'url') self._url = expand(url, None, mailman_config.paths) + log.debug('Creating database at {}'.format(self._url)) self.engine = create_engine(self._url) self.scoped_session = scoped_session(sessionmaker(bind=self.engine)) Base.metadata.create_all(self.engine) self.session.commit() + log.debug('Database successfully created.') @property def session(self): diff --git a/src/mailman_pgp/styles/base.py b/src/mailman_pgp/styles/base.py index 90df92b..b6e4c49 100644 --- a/src/mailman_pgp/styles/base.py +++ b/src/mailman_pgp/styles/base.py @@ -16,6 +16,8 @@ # this program. If not, see <http://www.gnu.org/licenses/>. """""" +import logging + from public import public from mailman_pgp.config import config, mm_config @@ -23,6 +25,8 @@ from mailman_pgp.database import transaction from mailman_pgp.model.list import PGPMailingList from mailman_pgp.pgp.keygen import ListKeyGenerator +log = logging.getLogger('mailman.plugin.pgp.styles') + @public class PGPStyle: @@ -30,6 +34,12 @@ class PGPStyle: """Creates the encrypted mailing list instance for the list it's applied to. """ + pgp_list = PGPMailingList.for_list(mailing_list) + if pgp_list: + return + + generate = config.get_value('keypairs', 'autogenerate') + mailing_list.posting_chain = 'pgp-posting-chain' old_policy = mailing_list.subscription_policy.name @@ -37,13 +47,9 @@ class PGPStyle: if new_policy_name in mm_config.workflows: mailing_list.subscription_policy = new_policy_name - pgp_list = PGPMailingList.for_list(mailing_list) - if pgp_list: - return - - generate = config.get_value('keypairs', 'autogenerate') - with transaction() as session: + log.debug( + 'Creating a PGP mailing list {}.'.format(mailing_list.list_id)) pgp_list = PGPMailingList(mailing_list) if generate: keygen = ListKeyGenerator(pgp_list) |
