summaryrefslogtreecommitdiff
path: root/src/mailman/commands/cli_members.py
diff options
context:
space:
mode:
authorBarry Warsaw2010-01-23 14:06:05 -0500
committerBarry Warsaw2010-01-23 14:06:05 -0500
commitd43c22c050926fdc438697399addfea4017ecafc (patch)
treea43b0332acc206167e892e862e34d4d9cbdcc396 /src/mailman/commands/cli_members.py
parent047732fa71189e9257fde7250947b2d6475db135 (diff)
downloadmailman-d43c22c050926fdc438697399addfea4017ecafc.tar.gz
mailman-d43c22c050926fdc438697399addfea4017ecafc.tar.zst
mailman-d43c22c050926fdc438697399addfea4017ecafc.zip
Diffstat (limited to 'src/mailman/commands/cli_members.py')
-rw-r--r--src/mailman/commands/cli_members.py31
1 files changed, 27 insertions, 4 deletions
diff --git a/src/mailman/commands/cli_members.py b/src/mailman/commands/cli_members.py
index a69b086d7..b47d72127 100644
--- a/src/mailman/commands/cli_members.py
+++ b/src/mailman/commands/cli_members.py
@@ -77,11 +77,34 @@ class Members:
if mlist is None:
self.parser.error(_('No such list: $fqdn_listname'))
if args.input_filename is None:
- for address in sorted(mlist.members.addresses,
- key=attrgetter('address')):
- print formataddr((address.real_name, address.original_address))
+ self.display_members(mlist, args)
+ else:
+ self.add_members(mlist, args)
+
+ def display_members(self, mlist, args):
+ """Display the members of a mailing list.
+
+ :param mlist: The mailing list to operate on.
+ :type mlist: `IMailingList`
+ :param args: The command line arguments.
+ :type args: `argparse.Namespace`
+ """
+ addresses = list(mlist.members.addresses)
+ if len(addresses) == 0:
+ print mlist.fqdn_listname, 'has no members'
return
- elif args.input_filename == '-':
+ for address in sorted(addresses, key=attrgetter('address')):
+ print formataddr((address.real_name, address.original_address))
+
+ def add_members(self, mlist, args):
+ """Add the members in a file to a mailing list.
+
+ :param mlist: The mailing list to operate on.
+ :type mlist: `IMailingList`
+ :param args: The command line arguments.
+ :type args: `argparse.Namespace`
+ """
+ if args.input_filename == '-':
fp = sys.stdin
else:
fp = codecs.open(args.input_filename, 'r', 'utf-8')