aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2017-08-04 14:56:11 +0200
committerJ08nY2017-08-04 14:56:29 +0200
commita8e59ed42798358428fa32b7917ef07b7118766b (patch)
tree70b81d44b758c9a69663c1c03609533233179514
parent4e4f91d64e32ccd601cb86fbb2a30bf3db3acf24 (diff)
downloadmailman-pgp-a8e59ed42798358428fa32b7917ef07b7118766b.tar.gz
mailman-pgp-a8e59ed42798358428fa32b7917ef07b7118766b.tar.zst
mailman-pgp-a8e59ed42798358428fa32b7917ef07b7118766b.zip
-rw-r--r--src/mailman_pgp/commands/eml_key.py4
-rw-r--r--src/mailman_pgp/config/config.py12
-rw-r--r--src/mailman_pgp/database/__init__.py6
-rw-r--r--src/mailman_pgp/styles/base.py18
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)