import types
import StringIO
import macfs
+import keyword
from Carbon.Res import *
# Standard_Suite or so). Import everything from our base module
fp.write('from %s import *\n'%basepackage._code_to_fullname[code][0])
basemodule = basepackage._code_to_module[code]
+ elif basepackage and basepackage._code_to_module.has_key(code.lower()):
+ # This is needed by CodeWarrior and some others.
+ fp.write('from %s import *\n'%basepackage._code_to_fullname[code.lower()][0])
+ basemodule = basepackage._code_to_module[code.lower()]
else:
# We are not an extension.
basemodule = None
def compileenumerator(self, item):
[name, code, desc] = item
- self.fp.write("\t%s : %s,\t# %s\n" % (`name`, `code`, desc))
+ self.fp.write("\t%s : %s,\t# %s\n" % (`identify(name)`, `code`, desc))
def checkforenum(self, enum):
"""This enum code is used by an event. Make sure it's available"""
bits.append(`i`)
return '[%s]' % string.join(bits)
-# XXXX Do we have a set of python keywords somewhere?
-illegal_ids = [ "for", "in", "from", "and", "or", "not", "print", "class", "return",
- "def" ]
-
def identify(str):
"""Turn any string into an identifier:
- replace space by _
else:
rv = rv + '_%02.2x_'%ord(c)
ok = ok2
- if rv in illegal_ids:
+ if keyword.iskeyword(rv):
rv = '_' + rv
return rv
if __name__ == '__main__':
main()
sys.exit(1)
+print identify('for')
\ No newline at end of file