mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
Mass check-in after untabifying all files that need it.
This commit is contained in:
parent
9ea7024754
commit
45e2fbc2e7
50 changed files with 5249 additions and 5249 deletions
|
@ -21,11 +21,11 @@
|
|||
# detects an error.
|
||||
|
||||
# It returns two values:
|
||||
# (1) a list of pairs (option, option_argument) giving the options in
|
||||
# the order in which they were specified. (I'd use a dictionary
|
||||
# but applications may depend on option order or multiple
|
||||
# occurrences.) Boolean options have '' as option_argument.
|
||||
# (2) the list of remaining arguments (may be empty).
|
||||
# (1) a list of pairs (option, option_argument) giving the options in
|
||||
# the order in which they were specified. (I'd use a dictionary
|
||||
# but applications may depend on option order or multiple
|
||||
# occurrences.) Boolean options have '' as option_argument.
|
||||
# (2) the list of remaining arguments (may be empty).
|
||||
|
||||
import string
|
||||
|
||||
|
@ -36,31 +36,31 @@ def getopt(args, shortopts, longopts = []):
|
|||
longopts = longopts[:]
|
||||
longopts.sort()
|
||||
while args and args[0][:1] == '-' and args[0] != '-':
|
||||
if args[0] == '--':
|
||||
args = args[1:]
|
||||
break
|
||||
if args[0][:2] == '--':
|
||||
list, args = do_longs(list, args[0][2:], longopts, args[1:])
|
||||
else:
|
||||
list, args = do_shorts(list, args[0][1:], shortopts, args[1:])
|
||||
if args[0] == '--':
|
||||
args = args[1:]
|
||||
break
|
||||
if args[0][:2] == '--':
|
||||
list, args = do_longs(list, args[0][2:], longopts, args[1:])
|
||||
else:
|
||||
list, args = do_shorts(list, args[0][1:], shortopts, args[1:])
|
||||
|
||||
return list, args
|
||||
|
||||
def do_longs(list, opt, longopts, args):
|
||||
try:
|
||||
i = string.index(opt, '=')
|
||||
opt, optarg = opt[:i], opt[i+1:]
|
||||
i = string.index(opt, '=')
|
||||
opt, optarg = opt[:i], opt[i+1:]
|
||||
except ValueError:
|
||||
optarg = None
|
||||
optarg = None
|
||||
|
||||
has_arg, opt = long_has_args(opt, longopts)
|
||||
if has_arg:
|
||||
if optarg is None:
|
||||
if not args:
|
||||
raise error, 'option --%s requires argument' % opt
|
||||
optarg, args = args[0], args[1:]
|
||||
if optarg is None:
|
||||
if not args:
|
||||
raise error, 'option --%s requires argument' % opt
|
||||
optarg, args = args[0], args[1:]
|
||||
elif optarg:
|
||||
raise error, 'option --%s must not have an argument' % opt
|
||||
raise error, 'option --%s must not have an argument' % opt
|
||||
list.append(('--' + opt, optarg or ''))
|
||||
return list, args
|
||||
|
||||
|
@ -70,35 +70,35 @@ def do_longs(list, opt, longopts, args):
|
|||
def long_has_args(opt, longopts):
|
||||
optlen = len(opt)
|
||||
for i in range(len(longopts)):
|
||||
x, y = longopts[i][:optlen], longopts[i][optlen:]
|
||||
if opt != x:
|
||||
continue
|
||||
if y != '' and y != '=' and i+1 < len(longopts):
|
||||
if opt == longopts[i+1][:optlen]:
|
||||
raise error, 'option --%s not a unique prefix' % opt
|
||||
if longopts[i][-1:] in ('=', ):
|
||||
return 1, longopts[i][:-1]
|
||||
return 0, longopts[i]
|
||||
x, y = longopts[i][:optlen], longopts[i][optlen:]
|
||||
if opt != x:
|
||||
continue
|
||||
if y != '' and y != '=' and i+1 < len(longopts):
|
||||
if opt == longopts[i+1][:optlen]:
|
||||
raise error, 'option --%s not a unique prefix' % opt
|
||||
if longopts[i][-1:] in ('=', ):
|
||||
return 1, longopts[i][:-1]
|
||||
return 0, longopts[i]
|
||||
raise error, 'option --' + opt + ' not recognized'
|
||||
|
||||
def do_shorts(list, optstring, shortopts, args):
|
||||
while optstring != '':
|
||||
opt, optstring = optstring[0], optstring[1:]
|
||||
if short_has_arg(opt, shortopts):
|
||||
if optstring == '':
|
||||
if not args:
|
||||
raise error, 'option -%s requires argument' % opt
|
||||
optstring, args = args[0], args[1:]
|
||||
optarg, optstring = optstring, ''
|
||||
else:
|
||||
optarg = ''
|
||||
list.append(('-' + opt, optarg))
|
||||
opt, optstring = optstring[0], optstring[1:]
|
||||
if short_has_arg(opt, shortopts):
|
||||
if optstring == '':
|
||||
if not args:
|
||||
raise error, 'option -%s requires argument' % opt
|
||||
optstring, args = args[0], args[1:]
|
||||
optarg, optstring = optstring, ''
|
||||
else:
|
||||
optarg = ''
|
||||
list.append(('-' + opt, optarg))
|
||||
return list, args
|
||||
|
||||
def short_has_arg(opt, shortopts):
|
||||
for i in range(len(shortopts)):
|
||||
if opt == shortopts[i] != ':':
|
||||
return shortopts[i+1:i+2] == ':'
|
||||
if opt == shortopts[i] != ':':
|
||||
return shortopts[i+1:i+2] == ':'
|
||||
raise error, 'option -%s not recognized' % opt
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue