|  | #!python | 
|  | import sys | 
|  | from thrift import generator | 
|  | from thrift import cpp_generator | 
|  | from thrift import php_generator | 
|  | from thrift import parser | 
|  |  | 
|  | def thrift(source, cpp=False, java=False, perl=False, php=False, python=False, ruby=False, debug=False): | 
|  |  | 
|  | generators = [] | 
|  |  | 
|  | if cpp: | 
|  | generators.append(cpp_generator.CPPGenerator()) | 
|  |  | 
|  | if php: | 
|  | generators.append(php_generator.PHPGenerator()) | 
|  |  | 
|  | p = parser.Parser(debug=debug) | 
|  |  | 
|  | p.parse(source, False) | 
|  |  | 
|  | for generator in generators: | 
|  | generator(p.program, source) | 
|  |  | 
|  | if len(p.errors): | 
|  | return -1 | 
|  | else: | 
|  | return 0 | 
|  |  | 
|  | def main(args): | 
|  |  | 
|  | cpp = False | 
|  | perl = False | 
|  | php = False | 
|  | python = False | 
|  | java = False | 
|  | ruby = False | 
|  |  | 
|  | debug = False | 
|  |  | 
|  | if "--cpp" in args: | 
|  | cpp = True | 
|  | args.remove("--cpp") | 
|  | if "--php" in args: | 
|  | php = True | 
|  | args.remove("--php") | 
|  | if "--debug" in args: | 
|  | debug = True | 
|  | args.remove("--debug") | 
|  |  | 
|  | filename = args[-1] | 
|  |  | 
|  | result = thrift(filename, cpp, java, perl, php, python, ruby, debug) | 
|  |  | 
|  | sys.exit(result) | 
|  |  | 
|  | if __name__ == '__main__': | 
|  | main(sys.argv) | 
|  |  |