Eolian: Add imports and __init__ method to generated py classes

This commit is contained in:
Kai Huuhko 2014-06-19 09:51:27 +03:00
parent 137e6b7e21
commit 5795f762dc
1 changed files with 18 additions and 4 deletions

View File

@ -566,9 +566,6 @@ class Class(object):
gen.write()
def py_generate(self, gen):
if len(self.inherits) < 2:
return
inherits = ["_" + self.cls.name]
for i in self.inherits:
i_cls = eolian.class_find_by_name(i)
@ -580,9 +577,26 @@ class Class(object):
log.warn("Class %s is unknown" % (i))
inherits.append("_" + i)
for i in inherits:
pfix = i.split("_")[1]
m = pfix.lower()
gen.write("from %s import %s" % (m, i))
gen.write()
gen.write()
gen.write("class %s(%s):" % (self.cls.name, ", ".join(inherits)))
gen.indent()
gen.write("pass")
gen.write("def __init__(self, parent=None, *args, **kwargs):")
gen.indent()
gen.write(
"_%s.__init__(self, parent=None, *args, **kwargs)" % (
self.cls.name
)
)
gen.dedent()
gen.dedent()
gen.write()