Beispiel #1
0
    def dumpPython(self, varName = 'analysis', withCtor = True, objects = {}):
        if not self._sequence.isBuilt:
            self.buildSequence()

        code = ''
        modules = {}
        for mod in self._sequence:
            modules[mod] = mod._name

        objects.update(modules)

        # module names are guaranteed to be unique from buildSequence()

        for mod in self._sequence:
            code += mod.dumpPython(varName = mod._name, objects = objects)
            code += '\n'

        for mod in self._sequence:
            for nextNode in mod._nextNodes:
                code += mod._name + '.Add(' + nextNode._name + ')\n'

        code += '\n'

        code += Configurable.dumpPython(self, varName = 'analysis', withCtor = withCtor, objects = modules)

        return code
Beispiel #2
0
    def dumpPython(self, varName='analysis', withCtor=True, objects={}):
        if not self._sequence.isBuilt:
            self.buildSequence()

        code = ''
        modules = {}
        for mod in self._sequence:
            modules[mod] = mod._name

        objects.update(modules)

        # module names are guaranteed to be unique from buildSequence()

        for mod in self._sequence:
            code += mod.dumpPython(varName=mod._name, objects=objects)
            code += '\n'

        for mod in self._sequence:
            for nextNode in mod._nextNodes:
                code += mod._name + '.Add(' + nextNode._name + ')\n'

        code += '\n'

        code += Configurable.dumpPython(self,
                                        varName='analysis',
                                        withCtor=withCtor,
                                        objects=modules)

        return code
Beispiel #3
0
    def dumpPython(self, varName = 'analysis', objects = {}):
        if not self._sequence.isBuilt:
            self.buildSequence()

        code = ''
        auxObjects = {}
        modules = {}

        # module names are guaranteed to be unique from buildSequence()

        for mod in self._sequence:
            for attrName, args, isMethod in mod.config:
                for arg in args:
                    if not isinstance(arg, Configurable):
                        continue
                    if arg in auxObjects:
                        continue

                    auxName = 'aux' + str(len(auxObjects))
                    code += arg.dumpPython(auxName, auxObjects)
                    code += '\n'
                    auxObjects[arg] = auxName

            code += mod.dumpPython(mod._name, auxObjects)
            code += '\n'

            modules[mod] = mod._name

        for mod in self._sequence:
            for nextNode in mod.nextNodes:
                code += mod._name + '.Add(' + nextNode._name + ')\n'

        code += '\n'

        code += Configurable.dumpPython(self, 'analysis', modules)

        return code