packagekit/python/enum-convertor.py
Robin Norwood c6f5607d08 o Update list of valid licenses
o Update enum converter to:
  - Allow for numbers in enums
  - Advertise that python/packagekit/enums.py is generated
o Fix license tag parser to ignore trailing "+"es
2007-12-20 18:10:17 -05:00

26 lines
666 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-Z0-9_]+),\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])