Beispiel #1
0
 def generate_function_signature(self, model):
     print(model.name)
     input = model.inputs
     output = model.outputs
     inout = input + output
     outname = [o.name for o in output]
     tab = []
     # initialization inputs
     for inp in inout:
         if inp.name not in outname:
             if inp.name not in tab:
                 tab.append(inp)
     if sys.version_info[0] >= 3: init_inp = tab.copy()
     else: init_inp = tab
     # Compute name from title.
     # We need an explicit name rather than infering it from Title
     #name = desc.Title
     code = '\n\ndef init_%s(' % (signature(model))
     code_size = len(code)
     #_input_names = [inp.name.lower() for inp in inputs]
     ins = [my_input(inp) for inp in init_inp]
     separator = ',\n' + code_size * ' '
     code += separator.join(ins)
     code += '):\n'
     return code
Beispiel #2
0
    def decl(self, defa=True):
        info_var = self.info_minout()
        inp = [m.name for m in self.meta_inp(self.name)]
        declaration = ""
        tab = ' ' * 4
        for k, v in info_var.items():
            for j in v[0]:
                #print(j)
                if j.name not in inp:
                    declaration += tab + "cdef " + my_input(j, defa) + "\n"
                    inp.append(j.name)
            for w in v[1]:
                if w.name not in inp:
                    #print(w, w.name)
                    declaration += tab + "cdef " + my_input(w, defa) + "\n"
                    inp.append(w.name)

        return declaration
Beispiel #3
0
 def generate_function_signature(self, model):
     tab = []
     # initialization inputs
     for inp in model.inputs:
         if "variablecategory" in dir(inp) and inp.variablecategory in (
                 "auxiliary"):
             tab.append(inp)
         if "parametercategory" in dir(inp):
             tab.append(inp)
     init_inp = tab.copy()
     inputs = init_inp
     # Compute name from title.
     # We need an explicit name rather than infering it from Title
     #name = desc.Title
     code = '\n\ndef init_%s(' % (signature(model))
     code_size = len(code)
     #_input_names = [inp.name.lower() for inp in inputs]
     ins = [my_input(inp) for inp in inputs]
     separator = ',\n' + code_size * ' '
     code += separator.join(ins)
     code += '):\n'
     return code
 def assignParam(self):
     h = 'from datetime import datetime\n'
     for m in self.model.inputs:
         if "parametercategory" in dir(m):
             h += "cdef " + my_input(m) + "\n"
     return h