2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-25 06:22:15 +00:00
Files
python/pyste/src/EnumExporter.py
Bruno da Silva de Oliveira 20c52def19 - first version
[SVN r17805]
2003-03-11 03:29:22 +00:00

31 lines
1.1 KiB
Python

from Exporter import Exporter
from settings import *
#==============================================================================
# EnumExporter
#==============================================================================
class EnumExporter(Exporter):
'Exports enumerators'
def __init__(self, info):
Exporter.__init__(self, info)
def SetDeclarations(self, declarations):
Exporter.SetDeclarations(self, declarations)
self.enum = self.GetDeclaration(self.info.name)
def Export(self, codeunit, expoted_names):
indent = self.INDENT
in_indent = self.INDENT*2
rename = self.info.rename or self.enum.name
full_name = self.enum.FullName()
code = indent + namespaces.python + 'enum_< %s >("%s")\n' % (full_name, rename)
for name in self.enum.values:
rename = self.info[name].rename or name
value_fullname = self.enum.ValueFullName(name)
code += in_indent + '.value("%s", %s)\n' % (rename, value_fullname)
code += indent + ';\n\n'
codeunit.Write('module', code)