diff --git a/scripts/eolian_generate.py b/scripts/eolian_generate.py index 933000d..c17107b 100755 --- a/scripts/eolian_generate.py +++ b/scripts/eolian_generate.py @@ -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()