def model_is_it_ok(): print "" mon_dict = dict() mon_dict["cleA"] = "valeur_de_cleA" mon_dict["cleB"] = 999 mon_dict["cleC"] = 88.8 mon_dict["cleD"] = True print "type(mon_dict) : ", type( mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) print "" mon_list = list() mon_list.append(678) mon_list.append("ffff") mon_list.append(7.4) mon_list.append(False) print "type(mon_list) : ", type( mon_list), " , valeur de mon_list : ", mon_list mon_list_value = convert.to_vlevalue(mon_list) print "type(mon_list_value) : ", type(mon_list_value) #Ajout de mon_list dans le mon_dict (Un map et un set dans un map) mon_dict["cleZ"] = mon_list print "type(mon_dict) : ", type( mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) print "********************************************" print "Lecture des 'Values' produites" print "" valeur_python = convert.to_pyvalue(mon_dict_value) print "valeur python de mon_dict_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for k, v in valeur_python.iteritems(): print "key : ", k, "value : ", v print "" valeur_python = convert.to_pyvalue(mon_list_value) print "valeur python de mon_list_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for e in valeur_python: print e print "" print "********************************************" print "=== CODE ModeleEssai.py du paquet exemple_modele_python" print "********************************************"
def model_is_it_ok(): print "" mon_dict = dict() mon_dict["cleA"] = "valeur_de_cleA" mon_dict["cleB"] = 999 mon_dict["cleC"] = 88.8 mon_dict["cleD"] = True print "type(mon_dict) : ", type(mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) print "" mon_list = list() mon_list.append( 678 ) mon_list.append( "ffff" ) mon_list.append( 7.4 ) mon_list.append( False ) print "type(mon_list) : ", type(mon_list), " , valeur de mon_list : ", mon_list mon_list_value = convert.to_vlevalue(mon_list) print "type(mon_list_value) : ", type(mon_list_value) #Ajout de mon_list dans le mon_dict (Un map et un set dans un map) mon_dict["cleZ"] = mon_list print "type(mon_dict) : ", type(mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) print "********************************************" print "Lecture des 'Values' produites" print "" valeur_python = convert.to_pyvalue( mon_dict_value ) print "valeur python de mon_dict_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for k,v in valeur_python.iteritems() : print "key : ", k, "value : ", v print "" valeur_python = convert.to_pyvalue( mon_list_value ) print "valeur python de mon_list_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for e in valeur_python : print e print "" print "********************************************" print "=== CODE ModeleEssai.py du paquet exemple_modele_python" print "********************************************"
def __init__(self, model, events): PyDynamics.Dynamics.__init__(self, model, events) # get init partameters self.conditions = convert.to_pyvalue(events) pm = load_package_manager() node_factory = pm[self.conditions['openalea_pkgname']][ self.conditions['openalea_nodename']] self.eval = function(node_factory) # /!\ on suppose l'unicite des noms entre parametres et attributs des ports self.eval_args = dict([(d['name'], -1.) for d in node_factory.inputs]) self.out_names = [d['name'] for d in node_factory.outputs] self.outputs = self.eval(**self.eval_args) # set model parameters, if any for k in list(self.conditions.keys()): if k in list(self.eval_args.keys()): self.eval_args[k] = self.conditions[k] if "delay" in list(self.conditions.keys()): self.p_delay = self.conditions["delay"] print("Le 'delay' est de : ", self.p_delay) else: self.p_delay = 1.0 print("")
def __init__(self, model, events): PyDynamics.Dynamics.__init__(self, model, events) valeur_python = convert.to_pyvalue( events ) if "modelname" in valeur_python.keys() : self.m_name = valeur_python["modelname"] print "" print "-----------------------------------------------" print "-------- ", self.m_name, " : __init__ --------------" self.m_choix = 1 print "valeur python de events : ", valeur_python print "lecture des elements 1 a 1 : " for k,v in valeur_python.iteritems() : print "key : ", k, "value : ", v self.conditions = valeur_python pm = load_package_manager() node_factory = pm[self.conditions['openalea_pkgname']][self.conditions['openalea_nodename']] self.eval = function(node_factory) # /!\ on suppose l'unicité des noms entre paramètres et attributs des ports self.eval_args = dict([(d['name'],-1.) for d in node_factory.inputs]) self.out_names = [d['name'] for d in node_factory.outputs] self.outputs = self.eval(**self.eval_args) for k in self.conditions.keys() : if k in self.eval_args.keys() : self.eval_args[k] = self.conditions[k] if "delay" in valeur_python.keys() : self.p_delay = valeur_python["delay"] print "Le 'delay' est de : ", self.p_delay else : self.p_delay = 1.0 print ""
def __init__(self, model, events): PyDynamics.Dynamics.__init__(self, model, events) # get init partameters self.conditions = convert.to_pyvalue(events) pm = load_package_manager() node_factory = pm[self.conditions['openalea_pkgname']][ self.conditions['openalea_nodename']] self.eval = function(node_factory) # /!\ on suppose l'unicite des noms entre parametres et attributs des ports self.eval_args = dict([(d['name'], -1.) for d in node_factory.inputs]) self.out_names = [d['name'] for d in node_factory.outputs] self.outputs = self.eval(**self.eval_args) # set model parameters, if any for k in self.conditions.keys(): if k in self.eval_args.keys(): self.eval_args[k] = self.conditions[k] if "delay" in self.conditions.keys(): self.p_delay = self.conditions["delay"] print "Le 'delay' est de : ", self.p_delay else: self.p_delay = 1.0 print ""
def GetEventValue( x ) : Name = x.getPortName () print "Evenement(s) du %s."%Name if x.haveAttributes () == True : map = convert.to_pyvalue(x.getAttributes()) for k,v in map.iteritems() : print "L'evenement de %s est :"%k, v else: print "Pas d'attribut pour l'evenement du port", Name
def GetEventValue( x ) : Name = x.getPortName () print "Evenement(s) du port %s."%Name if x.haveAttributes () == True : map = convert.to_pyvalue(x.getAttributes()) for k,v in map.iteritems() : print "L'evenement recus du port %s est :"%k, v else: print "Pas d'attribut pour l'evenement du port", Name return {Name:map}
def __init__(self, model, events): PyDynamics.Dynamics.__init__(self, model, events) print "**************** __init__ ******************" self.m_choix = 1 valeur_python = convert.to_pyvalue( events ) print "valeur python de events : ", valeur_python print "lecture des elements 1 a 1 : " for k,v in valeur_python.iteritems() : print "key : ", k, "value : ", v if "delay" in valeur_python.keys() : self.p_delay = valeur_python["delay"] print "Le 'delay' est de : ", self.p_delay else : self.p_delay = 1.0
def output(self,time,events): print "" print "-----------------------------------------------" print "--------- ", self.m_name, " : output ---------------" print "valeur python de time : ", time eventALAI= self.buildEvent("ALAI") eventALAI.putAttribute("AttrALAI", convert.to_vlevalue(float(self.ALAI))) eventRadPlant = self.buildEvent("RadPlant") eventRadPlant.putAttribute("AttrRadPlant", convert.to_vlevalue(float(self.RadPlant))) events.append(eventALAI) events.append(eventRadPlant) print "Valeur de ALAI", convert.to_pyvalue(convert.to_vlevalue(self.ALAI)) , self.ALAI print "Valeur de RadPlant", convert.to_vlevalue(self.RadPlant), self.RadPlant for event in events : print "Envoie de l'évènement :", event.getPortName() print ""
def output(self, time, events): print "" print "-----------------------------------------------" print "--------- ", self.m_name, " : output ---------------" print "valeur python de time : ", time eventALAI = self.buildEvent("ALAI") eventALAI.putAttribute("AttrALAI", convert.to_vlevalue(float(self.ALAI))) eventRadPlant = self.buildEvent("RadPlant") eventRadPlant.putAttribute("AttrRadPlant", convert.to_vlevalue(float(self.RadPlant))) events.append(eventALAI) events.append(eventRadPlant) print "Valeur de ALAI", convert.to_pyvalue( convert.to_vlevalue(self.ALAI)), self.ALAI print "Valeur de RadPlant", convert.to_vlevalue( self.RadPlant), self.RadPlant for event in events: print "Envoie de l'évènement :", event.getPortName() print ""
def __init__(self, model, events): PyDynamics.Dynamics.__init__(self, model, events) valeur_python = convert.to_pyvalue( events ) if "model_name" in valeur_python.keys() : self.m_name = valeur_python["model_name"] print "" print "-----------------------------------------------" print "-------- ", self.m_name, " : __init__ --------------" self.m_choix = 1 print "valeur python de events : ", valeur_python print "lecture des elements 1 a 1 : " for k,v in valeur_python.iteritems() : print "key : ", k, "value : ", v self.conditions = valeur_python if "delay" in valeur_python.keys() : self.p_delay = valeur_python["delay"] print "Le 'delay' est de : ", self.p_delay else : self.p_delay = 1.0 print ""
def __init__(self, model, events): PyDynamics.Dynamics.__init__(self, model, events) valeur_python = convert.to_pyvalue(events) if "model_name" in valeur_python.keys(): self.m_name = valeur_python["model_name"] print "" print "-----------------------------------------------" print "-------- ", self.m_name, " : __init__ --------------" self.m_choix = 1 print "valeur python de events : ", valeur_python print "lecture des elements 1 a 1 : " for k, v in valeur_python.iteritems(): print "key : ", k, "value : ", v self.conditions = valeur_python if "delay" in valeur_python.keys(): self.p_delay = valeur_python["delay"] print "Le 'delay' est de : ", self.p_delay else: self.p_delay = 1.0 print ""
def internalTransition(self, time): self.m_choix = self.m_choix + 1 print "*********** internalTransition *************" print "valeur python de time : ", time print "********************************************" print "Lecture des 'Values' produites" print "" valeur_python = convert.to_pyvalue( self.mon_bool_value ) print "valeur python de mon_bool_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue( self.mon_int_value ) print "valeur python de mon_int_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue( self.mon_float_value ) print "valeur python de mon_float_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue( self.mon_str_value ) print "valeur python de mon_str_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue( self.mon_dict_value ) print "valeur python de mon_dict_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for k,v in valeur_python.iteritems() : print "key : ", k, "value : ", v print "" valeur_python = convert.to_pyvalue( self.mon_list_value ) print "valeur python de mon_list_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for e in valeur_python : print e
def GetEventValue(x): Name = x.getPortName() if x.haveAttributes() == True: map = convert.to_pyvalue(x.getAttributes()) return {Name: map}
def output(self, time, events): # ecriture d'evenements dans events (external events) print "---------------------------------------------------------------" print "MyModel.output : " print "" print "********************************************" print "Construction de 'Values'" # # !!! Value : imbriquer dans une Value map et list... # print "" mon_bool = False print "type(mon_bool) : ", type( mon_bool), " , valeur de mon_bool : ", mon_bool mon_bool_value = convert.to_vlevalue(mon_bool) print "type(mon_bool_value) : ", type(mon_bool_value) print "" mon_int = 77 print "type(mon_int) : ", type( mon_int), " , valeur de mon_int : ", mon_int mon_int_value = convert.to_vlevalue(mon_int) print "type(mon_int_value) : ", type(mon_int_value) print "" mon_float = float(77) print "type(mon_float) : ", type( mon_float), " , valeur de mon_float : ", mon_float mon_float_value = convert.to_vlevalue(mon_float) print "type(mon_float_value) : ", type(mon_float_value) print "" mon_str = "mon_texte" print "type(mon_str) : ", type( mon_str), " , valeur de mon_str : ", mon_str mon_str_value = convert.to_vlevalue(mon_str) print "type(mon_str_value) : ", type(mon_str_value) print "" mon_dict = dict() mon_dict["cleA"] = "valeur_de_cleA" mon_dict["cleB"] = 999 mon_dict["cleC"] = 88.8 mon_dict["cleD"] = True print "type(mon_dict) : ", type( mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) #Second Dict pour imbriquer un Dict dans un Dict print "" mon_dict2 = dict() mon_dict2["cleE"] = "valeur_de_cleE" mon_dict2["cleF"] = 111 mon_dict2["cleG"] = 22.2 mon_dict2["cleH"] = False print "type(mon_dict2) : ", type( mon_dict2), " , valeur de mon_dict2 : ", mon_dict2 mon_dict2_value = convert.to_vlevalue(mon_dict2) print "type(mon_dict2_value) : ", type(mon_dict2_value) print "" mon_list = list() mon_list.append(678) mon_list.append("ffff") mon_list.append(7.4) mon_list.append(False) print "type(mon_list) : ", type( mon_list), " , valeur de mon_list : ", mon_list mon_list_value = convert.to_vlevalue(mon_list) print "type(mon_list_value) : ", type(mon_list_value) #Seconde List pour imbriquer une List dans une List print "" mon_list2 = list() mon_list2.append(123) mon_list2.append("aaaa") mon_list2.append(2.5) mon_list2.append(True) print "type(mon_list2) : ", type( mon_list2), " , valeur de mon_list2 : ", mon_list2 mon_list2_value = convert.to_vlevalue(mon_list2) print "type(mon_list2_value) : ", type(mon_list2_value) #Ajout de mon_dict2 et mon_list dans le mon_dict (Un map et un set dans un map) mon_dict["cleY"] = mon_dict2 mon_dict["cleZ"] = mon_list print "type(mon_dict) : ", type( mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) #Ajout de mon_dict2 et mon_list2 dans le mon_list (Un map et un set dans un set) mon_list.append(mon_dict2) mon_list.append(mon_list2) print "type(mon_list) : ", type( mon_list), " , valeur de mon_list : ", mon_list mon_list_value = convert.to_vlevalue(mon_list) print "type(mon_list_value) : ", type(mon_list_value) print "********************************************" print "Lecture des 'Values' produites" print "" valeur_python = convert.to_pyvalue(mon_bool_value) print "valeur python de mon_bool_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue(mon_int_value) print "valeur python de mon_int_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue(mon_float_value) print "valeur python de mon_float_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue(mon_str_value) print "valeur python de mon_str_value : ", valeur_python print "et son type : ", type(valeur_python) print "" #print "type(mon_dict_value.get('cleA')) : ", type( mon_dict_value.get("cleA") ) #print "mon_dict_value.get('cleA').getType() : ", mon_dict_value.get("cleA").getType() #print "mon_dict_value de 'cleA' : ", testDynamics.toString(mon_dict_value.get("cleA")) valeur_python = convert.to_pyvalue(mon_dict_value) print "valeur python de mon_dict_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for k, v in valeur_python.iteritems(): print "key : ", k, "value : ", v print "" valeur_python = convert.to_pyvalue(mon_list_value) print "valeur python de mon_list_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for e in valeur_python: print e print "" print "********************************************" print "Creation des evenements" print " - eventB : Boolean" print " - eventC : Integering" print " - eventD : Double" print " - eventE : String" eventA = self.buildEvent("PortA") eventB = self.buildEventWithABoolean("PortB", "NomAttributB", mon_bool) eventC = self.buildEventWithAInteger("PortC", "NomAttributC", mon_int) eventD = self.buildEventWithADouble("PortD", "NomAttributD", mon_float) eventE = self.buildEventWithAString("PortE", "NomAttributE", mon_str) print " - eventF : Map, String, Boolean, Double" eventF = self.buildEvent("PortF") eventF.putAttribute("Ma_Map", mon_dict_value) eventF.putAttribute("Mon_String", mon_str_value) eventF.putAttribute("Mon_Boolean", mon_bool_value) eventF.putAttribute("Mon_Double", mon_float_value) print " - eventG : Set" eventG = self.buildEvent("PortG") eventG.putAttribute("NomAttributG", mon_list_value) print "" print "********************************************" print "Ajout des evenements a la liste d'evenements" events.append(eventA) events.append(eventB) events.append(eventC) events.append(eventD) events.append(eventE) events.append(eventF) events.append(eventG)
def output(self,time,events): # ecriture d'evenements dans events (external events) print "---------------------------------------------------------------" print "MyModel.output : " print "" print "********************************************" print "Construction de 'Values'" # # !!! Value : imbriquer dans une Value map et list... # print "" mon_bool = False print "type(mon_bool) : ", type(mon_bool), " , valeur de mon_bool : ", mon_bool mon_bool_value = convert.to_vlevalue(mon_bool) print "type(mon_bool_value) : ", type(mon_bool_value) print "" mon_int = 77 print "type(mon_int) : ", type(mon_int), " , valeur de mon_int : ", mon_int mon_int_value = convert.to_vlevalue(mon_int) print "type(mon_int_value) : ", type(mon_int_value) print "" mon_float = float(77) print "type(mon_float) : ", type(mon_float), " , valeur de mon_float : ", mon_float mon_float_value = convert.to_vlevalue(mon_float) print "type(mon_float_value) : ", type(mon_float_value) print "" mon_str = "mon_texte" print "type(mon_str) : ", type(mon_str), " , valeur de mon_str : ", mon_str mon_str_value = convert.to_vlevalue(mon_str) print "type(mon_str_value) : ", type(mon_str_value) print "" mon_dict = dict() mon_dict["cleA"] = "valeur_de_cleA" mon_dict["cleB"] = 999 mon_dict["cleC"] = 88.8 mon_dict["cleD"] = True print "type(mon_dict) : ", type(mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) #Second Dict pour imbriquer un Dict dans un Dict print "" mon_dict2 = dict() mon_dict2["cleE"] = "valeur_de_cleE" mon_dict2["cleF"] = 111 mon_dict2["cleG"] = 22.2 mon_dict2["cleH"] = False print "type(mon_dict2) : ", type(mon_dict2), " , valeur de mon_dict2 : ", mon_dict2 mon_dict2_value = convert.to_vlevalue(mon_dict2) print "type(mon_dict2_value) : ", type(mon_dict2_value) print "" mon_list = list() mon_list.append( 678 ) mon_list.append( "ffff" ) mon_list.append( 7.4 ) mon_list.append( False ) print "type(mon_list) : ", type(mon_list), " , valeur de mon_list : ", mon_list mon_list_value = convert.to_vlevalue(mon_list) print "type(mon_list_value) : ", type(mon_list_value) #Seconde List pour imbriquer une List dans une List print "" mon_list2 = list() mon_list2.append( 123 ) mon_list2.append( "aaaa" ) mon_list2.append( 2.5 ) mon_list2.append( True ) print "type(mon_list2) : ", type(mon_list2), " , valeur de mon_list2 : ", mon_list2 mon_list2_value = convert.to_vlevalue(mon_list2) print "type(mon_list2_value) : ", type(mon_list2_value) #Ajout de mon_dict2 et mon_list dans le mon_dict (Un map et un set dans un map) mon_dict["cleY"] = mon_dict2 mon_dict["cleZ"] = mon_list print "type(mon_dict) : ", type(mon_dict), " , valeur de mon_dict : ", mon_dict mon_dict_value = convert.to_vlevalue(mon_dict) print "type(mon_dict_value) : ", type(mon_dict_value) #Ajout de mon_dict2 et mon_list2 dans le mon_list (Un map et un set dans un set) mon_list.append( mon_dict2 ) mon_list.append( mon_list2 ) print "type(mon_list) : ", type(mon_list), " , valeur de mon_list : ", mon_list mon_list_value = convert.to_vlevalue(mon_list) print "type(mon_list_value) : ", type(mon_list_value) print "********************************************" print "Lecture des 'Values' produites" print "" valeur_python = convert.to_pyvalue( mon_bool_value ) print "valeur python de mon_bool_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue( mon_int_value ) print "valeur python de mon_int_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue( mon_float_value ) print "valeur python de mon_float_value : ", valeur_python print "et son type : ", type(valeur_python) print "" valeur_python = convert.to_pyvalue( mon_str_value ) print "valeur python de mon_str_value : ", valeur_python print "et son type : ", type(valeur_python) print "" #print "type(mon_dict_value.get('cleA')) : ", type( mon_dict_value.get("cleA") ) #print "mon_dict_value.get('cleA').getType() : ", mon_dict_value.get("cleA").getType() #print "mon_dict_value de 'cleA' : ", testDynamics.toString(mon_dict_value.get("cleA")) valeur_python = convert.to_pyvalue( mon_dict_value ) print "valeur python de mon_dict_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for k,v in valeur_python.iteritems() : print "key : ", k, "value : ", v print "" valeur_python = convert.to_pyvalue( mon_list_value ) print "valeur python de mon_list_value : ", valeur_python print "et son type : ", type(valeur_python) print "lecture des elements 1 a 1 : " for e in valeur_python : print e print "" print "********************************************" print "Creation des evenements" print " - eventB : Boolean" print " - eventC : Integering" print " - eventD : Double" print " - eventE : String" eventA= self.buildEvent("PortA") eventB= self.buildEventWithABoolean("PortB", "NomAttributB", mon_bool) eventC= self.buildEventWithAInteger("PortC", "NomAttributC", mon_int) eventD= self.buildEventWithADouble("PortD", "NomAttributD", mon_float) eventE= self.buildEventWithAString("PortE", "NomAttributE", mon_str) print " - eventF : Map, String, Boolean, Double" eventF= self.buildEvent("PortF") eventF.putAttribute("Ma_Map",mon_dict_value) eventF.putAttribute("Mon_String",mon_str_value) eventF.putAttribute("Mon_Boolean",mon_bool_value) eventF.putAttribute("Mon_Double",mon_float_value) print " - eventG : Set" eventG= self.buildEvent("PortG") eventG.putAttribute("NomAttributG",mon_list_value) print "" print "********************************************" print "Ajout des evenements a la liste d'evenements" events.append(eventA); events.append(eventB); events.append(eventC); events.append(eventD); events.append(eventE); events.append(eventF); events.append(eventG);