25 lines
573 B
Python
25 lines
573 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 "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])
|
|
|