summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2000-09-15 21:20:19 +0000
committerbwarsaw2000-09-15 21:20:19 +0000
commitd1713558d16d2f17fa283d1a2e0982edab9b355b (patch)
tree6b5fc066bd60b9d87c5344fadfbcd964a1d3dbe3
parentb89793aa21c3545aa4030860240e0c6654604a18 (diff)
downloadmailman-d1713558d16d2f17fa283d1a2e0982edab9b355b.tar.gz
mailman-d1713558d16d2f17fa283d1a2e0982edab9b355b.tar.zst
mailman-d1713558d16d2f17fa283d1a2e0982edab9b355b.zip
Added -a/--all flag to remove all members in one fell swoop. Closes
SF bug #114148, Jitterbug PR#181.
-rwxr-xr-xbin/remove_members20
1 files changed, 14 insertions, 6 deletions
diff --git a/bin/remove_members b/bin/remove_members
index 84de45bad..988e1f2be 100755
--- a/bin/remove_members
+++ b/bin/remove_members
@@ -19,15 +19,19 @@
"""Remove members from a list.
Usage:
- remove_members [-f file] [-h] listname [addr1 ...]
+ remove_members [options] listname [addr1 ...]
-Where:
+Options:
- --file file
+ --file=file
-f file
Remove member addresses found in the given file. If file is
`-', read stdin.
+ --all
+ -a
+ Remove all members of the mailing list.
+
--help
-h
Print this help message and exit.
@@ -70,9 +74,7 @@ def ReadFile(filename):
def main():
try:
opts, args = getopt.getopt(
- sys.argv[1:],
- 'f:h',
- ['file=', 'help'])
+ sys.argv[1:], 'af:h', ['all', 'file=', 'help'])
except getopt.error, msg:
usage(1, msg)
@@ -82,12 +84,15 @@ def main():
listname = string.lower(args[0])
addresses = args[1:]
filename = None
+ all = 0
for opt, arg in opts:
if opt in ('-h', '--help'):
usage(0)
elif opt in ('-f', '--file'):
filename = arg
+ elif opt in ('-a', '--all'):
+ all = 1
if filename:
try:
@@ -103,6 +108,9 @@ def main():
print 'No such list "%s"\n%s' % (listname, e)
sys.exit(1)
+ if all:
+ addresses = mlist.GetMembers() + mlist.GetDigestMembers()
+
try:
for addr in addresses:
try: