diff options
author | torben <torben@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2011-05-29 00:47:39 +0000 |
---|---|---|
committer | torben <torben@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2011-05-29 00:47:39 +0000 |
commit | 75664ed224c962255d5a89598095cee926823771 (patch) | |
tree | bedf043a4b2f18cb784fa00db1093ed199e7bd15 /python/mygetopt.py | |
parent | 45d20150768bc3aeb74f32c64b95286b55699623 (diff) | |
download | jack1-75664ed224c962255d5a89598095cee926823771.tar.gz |
[python] add mygetopt.py and the current reserve_audio code
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@4441 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'python/mygetopt.py')
-rw-r--r-- | python/mygetopt.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/python/mygetopt.py b/python/mygetopt.py new file mode 100644 index 0000000..5ed2811 --- /dev/null +++ b/python/mygetopt.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python + +import getopt + +def my_getopt(args, shortopts, longopts = []): + """getopt(args, options[, long_options]) -> opts, args + + Parses command line options and parameter list. args is the + argument list to be parsed, without the leading reference to the + running program. Typically, this means "sys.argv[1:]". shortopts + is the string of option letters that the script wants to + recognize, with options that require an argument followed by a + colon (i.e., the same format that Unix getopt() uses). If + specified, longopts is a list of strings with the names of the + long options which should be supported. The leading '--' + characters should not be included in the option name. Options + which require an argument should be followed by an equal sign + ('='). + + The return value consists of two elements: the first is a list of + (option, value) pairs; the second is the list of program arguments + left after the option list was stripped (this is a trailing slice + of the first argument). Each option-and-value pair returned has + the option as its first element, prefixed with a hyphen (e.g., + '-x'), and the option argument as its second element, or an empty + string if the option has no argument. The options occur in the + list in the same order in which they were found, thus allowing + multiple occurrences. Long and short options may be mixed. + + """ + + opts = [] + if type(longopts) == type(""): + longopts = [longopts] + else: + longopts = list(longopts) + if args and args[0].startswith('-') and args[0] != '-': + if args[0] == '--': + args = args[1:] + if args[0].startswith('--'): + opts, args = getopt.do_longs(opts, args[0][2:], longopts, args[1:]) + else: + opts, args = getopt.do_shorts(opts, args[0][1:], shortopts, args[1:]) + + return opts, args + else: + return None, args + |