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:
示例#4
0
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()