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, 9 insertions, 3 deletions
diff --git a/src/mailman/commands/cli_members.py b/src/mailman/commands/cli_members.py
index 213bb7a2c..d407a9e87 100644
--- a/src/mailman/commands/cli_members.py
+++ b/src/mailman/commands/cli_members.py
@@ -28,7 +28,8 @@ __all__ = [
import sys
import codecs
-from email.utils import parseaddr
+from email.utils import formataddr, parseaddr
+from operator import attrgetter
from zope.component import getUtility
from zope.interface import implements
@@ -42,7 +43,7 @@ from mailman.interfaces.member import AlreadySubscribedError, DeliveryMode
class Members:
- """Manage list memberships"""
+ """Manage list memberships. With no arguments, list all members."""
implements(ICLISubCommand)
@@ -74,7 +75,12 @@ class Members:
mlist = getUtility(IListManager).get(fqdn_listname)
if mlist is None:
self.parser.error(_('No such list: $fqdn_listname'))
- if args.filename == '-':
+ if args.filename is None:
+ for address in sorted(mlist.members.addresses,
+ key=attrgetter('address')):
+ print formataddr((address.real_name, address.original_address))
+ return
+ elif args.filename == '-':
fp = sys.stdin
else:
fp = codecs.open(args.filename, 'r', 'utf-8')