summaryrefslogtreecommitdiff
path: root/src/mailman/commands/cli_members.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/commands/cli_members.py')
-rw-r--r--src/mailman/commands/cli_members.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mailman/commands/cli_members.py b/src/mailman/commands/cli_members.py
index 2bf6be848..7c5d3b8f3 100644
--- a/src/mailman/commands/cli_members.py
+++ b/src/mailman/commands/cli_members.py
@@ -29,14 +29,15 @@ import sys
import codecs
from email.utils import formataddr, parseaddr
-from flufl.password import generate
from operator import attrgetter
+from passlib.utils import generate_password as generate
from zope.component import getUtility
-from zope.interface import implements
+from zope.interface import implementer
from mailman.app.membership import add_member
from mailman.config import config
from mailman.core.i18n import _
+from mailman.database.transaction import transactional
from mailman.interfaces.command import ICLISubCommand
from mailman.interfaces.listmanager import IListManager
from mailman.interfaces.member import (
@@ -44,11 +45,10 @@ from mailman.interfaces.member import (
+@implementer(ICLISubCommand)
class Members:
"""Manage list memberships. With no arguments, list all members."""
- implements(ICLISubCommand)
-
name = 'members'
def add(self, parser, command_parser):
@@ -177,6 +177,7 @@ class Members:
if fp is not sys.stdout:
fp.close()
+ @transactional
def add_members(self, mlist, args):
"""Add the members in a file to a mailing list.
@@ -207,9 +208,8 @@ class Members:
except AlreadySubscribedError:
# It's okay if the address is already subscribed, just
# print a warning and continue.
- print('Already subscribed (skipping):',
+ print('Already subscribed (skipping):',
email, display_name)
finally:
if fp is not sys.stdin:
fp.close()
- config.db.commit()