diff options
| author | Barry Warsaw | 2009-08-09 11:01:16 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2009-08-09 11:01:16 -0400 |
| commit | df000679f72bfbf1d40e7d1553b376cda524be95 (patch) | |
| tree | 72ad1c8419984283bf53959a616ee903a64244af /src/mailman/commands/lists.py | |
| parent | 9cb2d844baf1ec47bed25fd48e5762ab641b5498 (diff) | |
| download | mailman-df000679f72bfbf1d40e7d1553b376cda524be95.tar.gz mailman-df000679f72bfbf1d40e7d1553b376cda524be95.tar.zst mailman-df000679f72bfbf1d40e7d1553b376cda524be95.zip | |
Diffstat (limited to 'src/mailman/commands/lists.py')
| -rw-r--r-- | src/mailman/commands/lists.py | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/mailman/commands/lists.py b/src/mailman/commands/lists.py deleted file mode 100644 index 6757099d9..000000000 --- a/src/mailman/commands/lists.py +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (C) 2009 by the Free Software Foundation, Inc. -# -# This file is part of GNU Mailman. -# -# GNU Mailman is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation, either version 3 of the License, or (at your option) -# any later version. -# -# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License along with -# GNU Mailman. If not, see <http://www.gnu.org/licenses/>. - -"""The 'lists' subcommand.""" - -from __future__ import absolute_import, unicode_literals - -__metaclass__ = type -__all__ = [ - 'Lists', - ] - - -from zope.interface import implements - -from mailman.config import config -from mailman.i18n import _ -from mailman.interfaces.command import ICLISubCommand - - - -class Lists: - """The `lists` subcommand.""" - - implements(ICLISubCommand) - - def add(self, subparser): - """See `ICLISubCommand`.""" - lists_parser = subparser.add_parser( - 'lists', help=_('List all mailing lists')) - lists_parser.add_argument( - '-a', '--advertised', - default=False, action='store_true', - help=_( - 'List only those mailing lists that are publicly advertised')) - lists_parser.add_argument( - '-b', '--bare', - default=False, action='store_true', - help=_('Show only the list name, with no description')) - lists_parser.add_argument( - '-d', '--domain', - action='append', help=_("""\ - List only those mailing lists hosted on the given domain, which - must be the email host name. Multiple -d options may be given. - """)) - lists_parser.add_argument( - '-f', '--full', - default=False, action='store_true', - help=_( - 'Show the full mailing list name (i.e. the posting address')) - lists_parser.set_defaults(func=self.process) - - def process(self, args): - """See `ICLISubCommand`.""" - mailing_lists = [] - list_manager = config.db.list_manager - # Gather the matching mailing lists. - for fqdn_name in sorted(list_manager.names): - mlist = list_manager.get(fqdn_name) - if args.advertised and not mlist.advertised: - continue - if args.domains and mlist.host_name not in args.domains: - continue - mailing_lists.append(mlist) - # Maybe no mailing lists matched. - if len(mailing_lists) == 0: - if not args.bare: - print _('No matching mailing lists found') - return - if not args.bare: - count = len(mailing_lists) - print _('$count matching mailing lists found:') - # Calculate the longest mailing list name. - longest = len( - max(mlist.fqdn_listname for mlist in mailing_lists) - if args.full else - max(mlist.real_name for mlist in mailing_lists)) - # Print it out. - for mlist in mailing_lists: - name = (mlist.fqdn_listname if args.full else mlist.real_name) - if args.bare: - print name - else: - description = (mlist.description - if mlist.description is not None - else _('[no description available]')) - print '{0:{2}} - {1:{3}}'.format( - name, description, longest, 77 - longest) |
