packagekit/python/enum-convertor.py
2007-12-20 14:28:56 -05:00

26 lines
663 B
Python

#!/usr/bin/python
from re import compile,DOTALL,MULTILINE
enum = compile("static PkEnumMatch enum_([^\]]+)\[\] = {(.*?)};", DOTALL|MULTILINE)
value = compile("PK_([A-Z]+)_ENUM_([A-Z_]+),\s+\"([^\"]+)\"")
inp = open("../libpackagekit/pk-enum.c").read()
names = {}
print "# This file was autogenerated from libpackagekit/pk-enum.c by enum-converter.py\n"
print "class PackageKitEnum:"
for (name,data) in enum.findall(inp):
print "\t%s = ("%name,
for (type,enum,string) in value.findall(data):
print "\"%s\","%string,
names["%s_%s"%(type,enum)] = string
print ")"
print "\n# Constants\n"
for k in sorted(names.keys()):
print '%s = "%s"'%(k,names[k])