summaryrefslogtreecommitdiff
path: root/port_me
diff options
context:
space:
mode:
authorBarry Warsaw2015-12-22 23:14:44 -0500
committerBarry Warsaw2015-12-22 23:14:44 -0500
commita11e089cc1e0e5aff2502e584014295a414a43f9 (patch)
tree2cd85ac193e1bcaf3d17582f0cbe8614b3932fe1 /port_me
parentea1d7f360edd8f9ac70be5ed55caeaec27feb128 (diff)
downloadmailman-a11e089cc1e0e5aff2502e584014295a414a43f9.tar.gz
mailman-a11e089cc1e0e5aff2502e584014295a414a43f9.tar.zst
mailman-a11e089cc1e0e5aff2502e584014295a414a43f9.zip
Diffstat (limited to 'port_me')
-rw-r--r--port_me/list_owners.py90
1 files changed, 0 insertions, 90 deletions
diff --git a/port_me/list_owners.py b/port_me/list_owners.py
deleted file mode 100644
index 5b5fca2bf..000000000
--- a/port_me/list_owners.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright (C) 2002-2015 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/>.
-
-import sys
-import optparse
-
-from zope.component import getUtility
-
-from mailman.MailList import MailList
-from mailman.core.i18n import _
-from mailman.initialize import initialize
-from mailman.interfaces.listmanager import IListManager
-from mailman.version import MAILMAN_VERSION
-
-
-
-def parseargs():
- parser = optparse.OptionParser(version=MAILMAN_VERSION,
- usage=_("""\
-%prog [options] [listname ...]
-
-List the owners of a mailing list, or all mailing lists if no list names are
-given."""))
- parser.add_option('-w', '--with-listnames',
- default=False, action='store_true',
- help=_("""\
-Group the owners by list names and include the list names in the output.
-Otherwise, the owners will be sorted and uniquified based on the email
-address."""))
- parser.add_option('-m', '--moderators',
- default=False, action='store_true',
- help=_('Include the list moderators in the output.'))
- parser.add_option('-C', '--config',
- help=_('Alternative configuration file to use'))
- opts, args = parser.parse_args()
- return parser, opts, args
-
-
-
-def main():
- parser, opts, args = parseargs()
- initialize(opts.config)
-
- list_manager = getUtility(IListManager)
- listnames = set(args or list_manager.names)
- bylist = {}
-
- for listname in listnames:
- mlist = list_manager.get(listname)
- addrs = [addr.address for addr in mlist.owners.addresses]
- if opts.moderators:
- addrs.extend([addr.address for addr in mlist.moderators.addresses])
- bylist[listname] = addrs
-
- if opts.with_listnames:
- for listname in listnames:
- unique = set()
- for addr in bylist[listname]:
- unique.add(addr)
- keys = list(unique)
- keys.sort()
- print listname
- for k in keys:
- print '\t', k
- else:
- unique = set()
- for listname in listnames:
- for addr in bylist[listname]:
- unique.add(addr)
- for k in sorted(unique):
- print k
-
-
-
-if __name__ == '__main__':
- main()