1 # -*- coding: utf-8 -*-
2 print "import generator_datassim"
4 from generator.generator_python import PythonGenerator
8 Retourne les informations necessaires pour le chargeur de plugins
10 Ces informations sont retournees dans un dictionnaire
15 # La factory pour creer une instance du plugin
16 'factory' : DatassimGenerator,
19 class DatassimGenerator(PythonGenerator):
21 def __init__(self,cr=None):
22 PythonGenerator.__init__(self, cr)
27 def gener(self,obj,format='brut',config=None):
28 print "DatassimGenerator gener"
29 self.text_comm = PythonGenerator.gener(self, obj, format, config)
37 def writeDefault(self, fn):
39 filename = fn[:fn.rfind(".")] + '.py'
40 f = open( str(filename), 'wb')
41 f.write( self.text_da )
44 def generMCSIMP(self,obj) :
46 Convertit un objet MCSIMP en texte python
49 for i in obj.get_genealogie() :
51 self.dictMCVal[clef]=obj.valeur
53 s=PythonGenerator.generMCSIMP(self,obj)
56 def generMCFACT(self,obj):
58 if obj.parent.nom == "ALGORITHM":
59 self.dictMCVal["ALGORITHM_NAME"] = obj.nom
61 s=PythonGenerator.generMCFACT(self,obj)
64 def generate_da(self):
66 self.text_da += "#-*-coding:iso-8859-1-*- \n"
67 self.text_da += "study_config = {} \n"
68 self.text_da += "study_config[\"Name\"] = \"" + self.dictMCVal["__ASSIM_STUDY__STUDY_NAME"] + "\"\n"
69 self.text_da += "study_config[\"Algorithm\"] = \"" + self.dictMCVal["ALGORITHM_NAME"] + "\"\n"
72 self.add_data("Background")
73 self.add_data("BackgroundError")
74 self.add_data("Observation")
75 self.add_data("ObservationError")
76 self.add_data("ObservationOperator")
79 def add_data(self, data_name):
80 search_text = "__ASSIM_STUDY__ALGORITHM__" + self.dictMCVal["ALGORITHM_NAME"] + "__"
81 back_search_text = search_text + data_name + "__"
83 back_from = self.dictMCVal[back_search_text + "VECTOR__FROM"]
84 back_data = self.dictMCVal[back_search_text + "VECTOR__DATA"]
86 self.text_da += data_name + "_config = {} \n"
87 self.text_da += data_name + "_config[\"Type\"] = \"Vector\" \n"
88 self.text_da += data_name + "_config[\"From\"] = \"" + back_from + "\" \n"
89 self.text_da += data_name + "_config[\"Data\"] = \"" + back_data + "\" \n"
90 self.text_da += "study_config[\"" + data_name + "\"] = " + data_name + "_config \n"
94 back_from = self.dictMCVal[back_search_text + "MATRIX__FROM"]
95 back_data = self.dictMCVal[back_search_text + "MATRIX__DATA"]
97 self.text_da += data_name + "_config = {} \n"
98 self.text_da += data_name + "_config[\"Type\"] = \"Matrix\" \n"
99 self.text_da += data_name + "_config[\"From\"] = \"" + back_from + "\" \n"
100 self.text_da += data_name + "_config[\"Data\"] = \"" + back_data + "\" \n"
101 self.text_da += "study_config[\"" + data_name + "\"] = " + data_name + "_config \n"
105 def add_analysis(self):
106 search_text = "__ASSIM_STUDY__ALGORITHM__" + self.dictMCVal["ALGORITHM_NAME"] + "__Analysis__"
108 ana_from = self.dictMCVal[search_text + "FROM"]
110 if ana_from == "String":
111 ana_data = self.dictMCVal[search_text + "STRING_DATA__STRING"]
112 self.text_da += "Analysis_config = {} \n"
113 self.text_da += "Analysis_config[\"From\"] = \"String\" \n"
114 self.text_da += "Analysis_config[\"Data\"] = \"\"\"" + ana_data + "\"\"\" \n"
115 self.text_da += "study_config[\"Analysis\"] = Analysis_config \n"
117 if ana_from == "File":
118 ana_data = self.dictMCVal[search_text + "FILE_DATA__FILE"]
119 self.text_da += "Analysis_config = {} \n"
120 self.text_da += "Analysis_config[\"From\"] = \"File\" \n"
121 self.text_da += "Analysis_config[\"Data\"] = \"" + ana_data + "\" \n"
122 self.text_da += "study_config[\"Analysis\"] = Analysis_config \n"