diff options
| author | Barry Warsaw | 2010-01-23 14:06:05 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2010-01-23 14:06:05 -0500 |
| commit | d43c22c050926fdc438697399addfea4017ecafc (patch) | |
| tree | a43b0332acc206167e892e862e34d4d9cbdcc396 /src/mailman/commands/cli_members.py | |
| parent | 047732fa71189e9257fde7250947b2d6475db135 (diff) | |
| download | mailman-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.py | 31 |
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') |
