elif (opt in ("-M","--macros")): allMacros = True elif (opt in ("-m","--macro")): macro=arg elif (opt in ("-E","--enums")): allEnums = True elif (opt in ("-e","--enum")): enum = arg elif (opt in ("-n","--name-only")): nameOnly = True elif (opt in ("-P","--print-no-comment")): printNoComment = True else: assert (False,"Unhandled option :"+opt) headerfile = cheader.cheaderfile(args) if (printNoComment): for line in headerfile.content: print line sys.exit(0) #Print all macros if (allMacros): for (macroname, value) in headerfile.macros.items(): if (nameOnly): print macroname else: print macroname+"\t=\t"+str(value) #Print specified macro if (macro != ""): try:
"" #Parse options and arguments try: opts, args = getopt.getopt(sys.argv[1:], "h", ["help"]) except getopt.GetoptError: usage() sys.exit(2) #Parse options for opt, arg in opts: if (opt in ("-h", "--help")): usage() sys.exit(0) else: print "Unhandled option :" + opt sys.exit(2) #Check there is at least 1 input file with 1 output file if (len(args) < 2): usage() sys.exit(2) ch = cheader.cheaderfile(args[:-1]) py = cpythonize.pythonizer(ch) fileRef = open(args[len(args) - 1], "w") for l in py.pycode(): fileRef.write(l + "\n") fileRef.close()
elif (opt in ("-M", "--macros")): allMacros = True elif (opt in ("-m", "--macro")): macro = arg elif (opt in ("-E", "--enums")): allEnums = True elif (opt in ("-e", "--enum")): enum = arg elif (opt in ("-n", "--name-only")): nameOnly = True elif (opt in ("-P", "--print-no-comment")): printNoComment = True else: assert (False, "Unhandled option :" + opt) headerfile = cheader.cheaderfile(args) if (printNoComment): for line in headerfile.content: print line sys.exit(0) #Print all macros if (allMacros): for (macroname, value) in headerfile.macros.items(): if (nameOnly): print macroname else: print macroname + "\t=\t" + str(value) #Print specified macro if (macro != ""): try:
printsize = False for opt,arg in opts: if (opt in ("-h","--help")): usage() sys.exit(0) elif (opt in ("-s","--size")): printsize = True elif (opt in ("-c","--cstruct")): printc = True elif (opt in ("-n","--names")): printname = True else: print "Unhandled option :"+opt sys.exit(1) headerfile = cheader.cheaderfile(args[:-1]) cstruct = headerfile.structs[args[-1].strip()] cs2p = c2py.cstruct2py() pattern = cs2p.get_pattern(cstruct) #Print C struct if (printc): print cstruct #Print pattern print "Python pattern = "+pattern #Print name if (printname): print cstruct.get_names()