summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2002-03-07 05:49:49 +0000
committerbwarsaw2002-03-07 05:49:49 +0000
commitd3ee46a9bb1940dfeec09fb4acb5424da3630568 (patch)
treeb9b5d88ee24ab46a543fd5033185309f757f7792
parentad8ab6095708faa845bd5117a1ac6021a3f41937 (diff)
downloadmailman-d3ee46a9bb1940dfeec09fb4acb5424da3630568.tar.gz
mailman-d3ee46a9bb1940dfeec09fb4acb5424da3630568.tar.zst
mailman-d3ee46a9bb1940dfeec09fb4acb5424da3630568.zip
-rwxr-xr-xbin/list_members76
1 files changed, 40 insertions, 36 deletions
diff --git a/bin/list_members b/bin/list_members
index b2401ca54..aaddfd6fa 100755
--- a/bin/list_members
+++ b/bin/list_members
@@ -102,46 +102,50 @@ def main():
why = None
kind = None
+ # Throw away the first (program) argument
args = sys.argv[1:]
if not args:
usage(0)
- while 1:
- opt = args.pop(0)
- if opt in ('-h', '--help'):
- usage(0)
- elif opt in ('-p', '--preserve'):
- preserve = 1
- elif opt in ('-r', '--regular'):
- regular = 1
- elif opt in ('-o', '--output'):
- outfile = args.pop(0)
- elif opt == '-n':
- nomail = 1
- if args and args[0] in WHYCHOICES.keys():
- why = args.pop(0)
- elif opt.startswith('--nomail'):
- nomail = 1
- i = opt.find('=')
- if i >= 0:
- why = opt[i+1:]
- if why not in WHYCHOICES.keys():
- usage(1, _('Bad --nomail option: %(why)s'))
- elif opt == '-d':
- digest = 1
- if args and args[0] in ('mime', 'plain'):
- kind = args.pop(0)
- elif opt.startswith('--digest'):
- digest = 1
- i = opt.find('=')
- if i >= 0:
- kind = opt[i+1:]
- if kind not in ('mime', 'plain'):
- usage(1, _('Bad --digest option: %(kind)s'))
- else:
- # No more options left, push the last one back on the list
- args.insert(0, opt)
- break
+ try:
+ while 1:
+ opt = args.pop(0)
+ if opt in ('-h', '--help'):
+ usage(0)
+ elif opt in ('-p', '--preserve'):
+ preserve = 1
+ elif opt in ('-r', '--regular'):
+ regular = 1
+ elif opt in ('-o', '--output'):
+ outfile = args.pop(0)
+ elif opt == '-n':
+ nomail = 1
+ if args and args[0] in WHYCHOICES.keys():
+ why = args.pop(0)
+ elif opt.startswith('--nomail'):
+ nomail = 1
+ i = opt.find('=')
+ if i >= 0:
+ why = opt[i+1:]
+ if why not in WHYCHOICES.keys():
+ usage(1, _('Bad --nomail option: %(why)s'))
+ elif opt == '-d':
+ digest = 1
+ if args and args[0] in ('mime', 'plain'):
+ kind = args.pop(0)
+ elif opt.startswith('--digest'):
+ digest = 1
+ i = opt.find('=')
+ if i >= 0:
+ kind = opt[i+1:]
+ if kind not in ('mime', 'plain'):
+ usage(1, _('Bad --digest option: %(kind)s'))
+ else:
+ # No more options left, push the last one back on the list
+ args.insert(0, opt)
+ break
+ except IndexError:
+ usage(1)
if len(args) <> 1:
usage(1)