diff options
author | Nishanth Amuluru | 2011-01-11 22:41:51 +0530 |
---|---|---|
committer | Nishanth Amuluru | 2011-01-11 22:41:51 +0530 |
commit | b03203c8cb991c16ac8a3d74c8c4078182d0bb48 (patch) | |
tree | 7cf13b2deacbfaaec99edb431b83ddd5ea734a52 /eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.py | |
parent | 0c50203cd9eb94b819883c3110922e873f003138 (diff) | |
download | pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.tar.gz pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.tar.bz2 pytask-b03203c8cb991c16ac8a3d74c8c4078182d0bb48.zip |
removed all the buildout files
Diffstat (limited to 'eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.py')
-rw-r--r-- | eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.py | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.py b/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.py deleted file mode 100644 index 7c9e07f..0000000 --- a/eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/mercurial/fancyopts.py +++ /dev/null @@ -1,117 +0,0 @@ -# fancyopts.py - better command line parsing -# -# Copyright 2005-2009 Matt Mackall <mpm@selenic.com> and others -# -# This software may be used and distributed according to the terms of the -# GNU General Public License version 2 or any later version. - -import getopt - -def gnugetopt(args, options, longoptions): - """Parse options mostly like getopt.gnu_getopt. - - This is different from getopt.gnu_getopt in that an argument of - will - become an argument of - instead of vanishing completely. - """ - extraargs = [] - if '--' in args: - stopindex = args.index('--') - extraargs = args[stopindex + 1:] - args = args[:stopindex] - opts, parseargs = getopt.getopt(args, options, longoptions) - args = [] - while parseargs: - arg = parseargs.pop(0) - if arg and arg[0] == '-' and len(arg) > 1: - parseargs.insert(0, arg) - topts, newparseargs = getopt.getopt(parseargs, options, longoptions) - opts = opts + topts - parseargs = newparseargs - else: - args.append(arg) - args.extend(extraargs) - return opts, args - - -def fancyopts(args, options, state, gnu=False): - """ - read args, parse options, and store options in state - - each option is a tuple of: - - short option or '' - long option - default value - description - option value label(optional) - - option types include: - - boolean or none - option sets variable in state to true - string - parameter string is stored in state - list - parameter string is added to a list - integer - parameter strings is stored as int - function - call function with parameter - - non-option args are returned - """ - namelist = [] - shortlist = '' - argmap = {} - defmap = {} - - for option in options: - if len(option) == 5: - short, name, default, comment, dummy = option - else: - short, name, default, comment = option - # convert opts to getopt format - oname = name - name = name.replace('-', '_') - - argmap['-' + short] = argmap['--' + oname] = name - defmap[name] = default - - # copy defaults to state - if isinstance(default, list): - state[name] = default[:] - elif hasattr(default, '__call__'): - state[name] = None - else: - state[name] = default - - # does it take a parameter? - if not (default is None or default is True or default is False): - if short: - short += ':' - if oname: - oname += '=' - if short: - shortlist += short - if name: - namelist.append(oname) - - # parse arguments - if gnu: - parse = gnugetopt - else: - parse = getopt.getopt - opts, args = parse(args, shortlist, namelist) - - # transfer result to state - for opt, val in opts: - name = argmap[opt] - t = type(defmap[name]) - if t is type(fancyopts): - state[name] = defmap[name](val) - elif t is type(1): - state[name] = int(val) - elif t is type(''): - state[name] = val - elif t is type([]): - state[name].append(val) - elif t is type(None) or t is type(False): - state[name] = True - - # return unparsed args - return args |