1 # -*- coding: utf-8 -*-
2 print "import generator_adao"
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' : AdaoGenerator,
19 class AdaoGenerator(PythonGenerator):
21 def __init__(self,cr=None):
22 PythonGenerator.__init__(self, cr)
26 self.text_da_status = False
28 def gener(self,obj,format='brut',config=None):
29 print "AdaoGenerator gener"
30 self.text_comm = PythonGenerator.gener(self, obj, format, config)
36 self.text_da_status = False
38 self.text_da_status = True
40 print "Case seems not be correct"
44 def writeDefault(self, fn):
45 if self.text_da_status:
46 print "write adao python command file"
47 filename = fn[:fn.rfind(".")] + '.py'
48 f = open( str(filename), 'wb')
49 f.write( self.text_da )
52 def generMCSIMP(self,obj) :
54 Convertit un objet MCSIMP en texte python
57 for i in obj.get_genealogie() :
59 self.dictMCVal[clef]=obj.valeur
61 s=PythonGenerator.generMCSIMP(self,obj)
64 def generMCFACT(self,obj):
66 if obj.parent.nom == "ALGORITHM":
67 self.dictMCVal["ALGORITHM_NAME"] = obj.nom
69 s=PythonGenerator.generMCFACT(self,obj)
72 def generate_da(self):
74 self.text_da += "#-*-coding:iso-8859-1-*- \n"
75 self.text_da += "study_config = {} \n"
76 self.text_da += "study_config[\"Name\"] = \"" + self.dictMCVal["__ASSIM_STUDY__STUDY_NAME"] + "\"\n"
77 self.text_da += "study_config[\"Algorithm\"] = \"" + self.dictMCVal["ALGORITHM_NAME"] + "\"\n"
80 self.add_data("Background")
81 self.add_data("BackgroundError")
82 self.add_data("Observation")
83 self.add_data("ObservationError")
84 self.add_data("ObservationOperator")
87 def add_data(self, data_name):
88 search_text = "__ASSIM_STUDY__ALGORITHM__" + self.dictMCVal["ALGORITHM_NAME"] + "__"
89 back_search_text = search_text + data_name + "__"
92 search_vector = back_search_text + "Vector"
93 if search_vector + "__FROM" in self.dictMCVal:
94 back_from = self.dictMCVal[search_vector + "__FROM"]
96 # Vector is from a string
97 search_string = search_vector + "__STRING_DATA__STRING"
98 if search_string in self.dictMCVal:
99 back_data = self.dictMCVal[search_string]
100 # Vector is from a script
101 search_script = search_vector + "__SCRIPT_DATA__SCRIPT_FILE"
102 if search_script in self.dictMCVal:
103 back_data = self.dictMCVal[search_script]
105 print "[generator adao] Error cannot found Vector data"
107 self.text_da += data_name + "_config = {} \n"
108 self.text_da += data_name + "_config[\"Type\"] = \"Vector\" \n"
109 self.text_da += data_name + "_config[\"From\"] = \"" + back_from + "\" \n"
110 self.text_da += data_name + "_config[\"Data\"] = \"" + back_data + "\" \n"
111 self.text_da += "study_config[\"" + data_name + "\"] = " + data_name + "_config \n"
114 back_from = self.dictMCVal[back_search_text + "MATRIX__FROM"]
115 back_data = self.dictMCVal[back_search_text + "MATRIX__DATA"]
117 self.text_da += data_name + "_config = {} \n"
118 self.text_da += data_name + "_config[\"Type\"] = \"Matrix\" \n"
119 self.text_da += data_name + "_config[\"From\"] = \"" + back_from + "\" \n"
120 self.text_da += data_name + "_config[\"Data\"] = \"" + back_data + "\" \n"
121 self.text_da += "study_config[\"" + data_name + "\"] = " + data_name + "_config \n"
125 def add_analysis(self):
126 search_text = "__ASSIM_STUDY__ALGORITHM__" + self.dictMCVal["ALGORITHM_NAME"] + "__Analysis__"
128 ana_from = self.dictMCVal[search_text + "FROM"]
130 if ana_from == "String":
131 ana_data = self.dictMCVal[search_text + "STRING_DATA__STRING"]
132 self.text_da += "Analysis_config = {} \n"
133 self.text_da += "Analysis_config[\"From\"] = \"String\" \n"
134 self.text_da += "Analysis_config[\"Data\"] = \"\"\"" + ana_data + "\"\"\" \n"
135 self.text_da += "study_config[\"Analysis\"] = Analysis_config \n"
137 if ana_from == "File":
138 ana_data = self.dictMCVal[search_text + "FILE_DATA__FILE"]
139 self.text_da += "Analysis_config = {} \n"
140 self.text_da += "Analysis_config[\"From\"] = \"File\" \n"
141 self.text_da += "Analysis_config[\"Data\"] = \"" + ana_data + "\" \n"
142 self.text_da += "study_config[\"Analysis\"] = Analysis_config \n"