From e4fe6a0bb7020c7d189590e8bf767d82cbb1c0db Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 28 Oct 2012 21:35:52 +0100 Subject: invokable from another python file --- auto-auto-complete.py | 78 +++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 33 deletions(-) diff --git a/auto-auto-complete.py b/auto-auto-complete.py index 4280e61..a38ee94 100755 --- a/auto-auto-complete.py +++ b/auto-auto-complete.py @@ -178,6 +178,49 @@ class GeneratorBASH: +''' +mane! + +@param shell:str Shell to generato completion for +@param output:str Output file +@param source:str Source file +''' +def main(shell, outputm source) + with open(source, 'rb') as file: + source = file.read().decode('utf8', 'replace') + source = Parser.parse(source) + Parser.simplify(source) + + program = source[0] + unargumented = [] + argumented = [] + variadic = [] + suggestion = [] + + for item in source[1:]: + if item[0] == 'unargumented': + unargumented.append(item[1:]); + elif item[0] == 'argumented': + argumented.append(item[1:]); + elif item[0] == 'variadic': + variadic.append(item[1:]); + elif item[0] == 'suggestion': + suggestion.append(item[1:]); + + for group in (unargumented, argumented, variadic): + for index in range(0, len(group)): + item = group[index] + map = {} + for elem in item: + map[elem[0]] = elem[1:] + group[index] = map + + generator = 'Generator' + shell.upper() + generator = globals()[generator] + generator = generator(program, unargumented, argumented, variadic, suggestion) + + + ''' mane! ''' @@ -186,7 +229,7 @@ if __name__ == '__main__': print("USAGE: auto-auto-complete SHELL --output OUTPUT_FILE --source SOURCE_FILE") exit(1) - shell = sys.argv[1].upper() + shell = sys.argv[1] output = None source = None @@ -221,36 +264,5 @@ if __name__ == '__main__': if output is None: raise Exception('Unused option: --output') if source is None: raise Exception('Unused option: --source') - with open(source, 'rb') as file: - source = file.read().decode('utf8', 'replace') - source = Parser.parse(source) - Parser.simplify(source) - - program = source[0] - unargumented = [] - argumented = [] - variadic = [] - suggestion = [] - - for item in source[1:]: - if item[0] == 'unargumented': - unargumented.append(item[1:]); - elif item[0] == 'argumented': - argumented.append(item[1:]); - elif item[0] == 'variadic': - variadic.append(item[1:]); - elif item[0] == 'suggestion': - suggestion.append(item[1:]); - - for group in (unargumented, argumented, variadic): - for index in range(0, len(group)): - item = group[index] - map = {} - for elem in item: - map[elem[0]] = elem[1:] - group[index] = map - - generator = 'Generator' + shell - generator = globals()[generator] - generator = generator(program, unargumented, argumented, variadic, suggestion) + main(shell= shell, output= output, source= source) -- cgit v1.2.3-70-g09d2