Salome HOME
Update internal settings
[modules/adao.git] / resources / ADAOSchemaCatalog.xml
index b1a32ab91b424646433f941a3442750405fca280..62f434006d37902a75c0c35f82741949a8309dbf 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='utf-8' ?>
 <!--
-  Copyright (C) 2008-2018 EDF R&D
+  Copyright (C) 2008-2019 EDF R&D
 
   This file is part of SALOME ADAO module
 
@@ -59,7 +59,7 @@
     <script><code>
 
 <![CDATA[
-import numpy, logging
+import sys, numpy, logging
 logging.debug("CREATE YI Entering in CreateAssimilationStudy")
 print("Entering in the assimilation study")
 print("Name is set to........:", Name)
@@ -67,6 +67,7 @@ print("Algorithm is set to...:", Algorithm)
 
 try:
     # Create Assimilation study
+    if sys.version_info.major > 2: import adao
     from daYacsIntegration.daStudy import *
     assim_study = daStudy(Name, Algorithm, Debug)
 
@@ -236,6 +237,7 @@ if (matrix_in_string.find("array")>-1) or (matrix_in_string.find("matrix")>-1):
     exec("matrix="+matrix_in_string)
     matrix = numpy.matrix(matrix)
 else:
+    matrix_in_string=matrix_in_string.replace("'","").replace('"','')
     matrix = numpy.matrix(matrix_in_string)
 type = "Matrix"
 logging.debug("CREATE YI Matrix is %s"%matrix)
@@ -256,6 +258,7 @@ if (matrix_in_string.find("array")>-1) or (matrix_in_string.find("matrix")>-1):
     exec("matrix="+matrix_in_string)
     matrix = numpy.matrix(matrix)
 else:
+    matrix_in_string=matrix_in_string.replace("'","").replace('"','')
     matrix = numpy.matrix(matrix_in_string)
 type = "ScalarSparseMatrix"
 logging.debug("CREATE YI ScalarSparseMatrix is %s"%matrix)
@@ -276,6 +279,7 @@ if (matrix_in_string.find("array")>-1) or (matrix_in_string.find("matrix")>-1):
     exec("matrix="+matrix_in_string)
     matrix = numpy.matrix(matrix)
 else:
+    matrix_in_string=matrix_in_string.replace("'","").replace('"','')
     matrix = numpy.matrix(matrix_in_string)
 type = "DiagonalSparseMatrix"
 logging.debug("CREATE YI DiagonalSparseMatrix is %s"%matrix)
@@ -368,6 +372,7 @@ if (vector_in_string.find("array")>-1) or (vector_in_string.find("matrix")>-1):
     exec("vector="+vector_in_string)
     vector = numpy.matrix(vector)
 else:
+    vector_in_string=vector_in_string.replace("'","").replace('"','')
     vector = numpy.matrix(vector_in_string)
 type = "Vector"
 logging.debug("Vector is %s"%vector)
@@ -456,9 +461,12 @@ ADD.analyze()
   <inline name="SimpleUserAnalysis">
     <script><code><![CDATA[
 #-*- coding: utf-8 -*-
-import logging
+import sys, logging
 logging.debug("TERMINATE Entering in SimpleUserAnalysis")
-ADD = Study.getResults()
+if sys.version_info.major < 3:
+    ADD = Study.getResults()
+else:
+    ADD = Study
 # User code is below
 
 ]]></code></script>
@@ -528,14 +536,17 @@ if sys.path.count(filepath)==0 or (sys.path.count(filepath)>0 and sys.path.index
   </inline>
 
   <inline name="ReadForSwitchNode">
-    <script><code><![CDATA[
-import logging
+    <script><code><![CDATA[import sys, logging, codecs, pickle
+if sys.version_info.major > 2: import adao
+def loads( data ):
+  return pickle.loads(codecs.decode(data.encode(), "base64"))
 logging.debug("CREATE YI Entering in ReadForSwitchNode")
-logging.debug("       with input data : "+str(data["specificParameters"]))
+# logging.debug("       with input data : ",list(data["specificParameters"]))
 switch_value = -1
 for param in data["specificParameters"]:
+  # logging.debug("       ReadForSwitchNode specificParameters : ",param)
   if param["name"] == "switch_value":
-    switch_value = int(param["value"])
+    switch_value = int(loads(param["value"]))
 logging.debug("       switching to value : "+str(switch_value))
 ]]></code></script>
     <inport name="data" type="SALOME_TYPES/ParametricInput"/>
@@ -544,21 +555,19 @@ logging.debug("       switching to value : "+str(switch_value))
   </inline>
 
   <inline name="ExtractDataNode">
-    <script><code><![CDATA[
-import logging
-logging.debug("TERMINATE Entering in ExtractDataNode")
-try:
-  import cPickle as pickle
-except:
-  import pickle
+    <script><code><![CDATA[import sys, logging, codecs, pickle
+if sys.version_info.major > 2: import adao
+def loads( data ):
+  return pickle.loads(codecs.decode(data.encode(), "base64"))
+logging.debug("TERMINATE Entering in ExtractData/Node")
 from daCore.AssimilationStudy import AssimilationStudy
 var = None
 info = None
 for param in data["specificParameters"]:
   if param["name"] == "var":
-    var = pickle.loads(param["value"])
+    var = loads(param["value"])
   if param["name"] == "info":
-    info = param["value"]
+    info = loads(param["value"])
 ]]></code></script>
     <inport name="data" type="SALOME_TYPES/ParametricInput"/>
     <outport name="var" type="pyobj"/>
@@ -572,7 +581,7 @@ for param in data["specificParameters"]:
   </inline>
 
   <inline name="ObservationNodeFile">
-    <script><code><![CDATA[execfile(script)]]></code></script>
+    <script><code><![CDATA[with open(script, 'rb') as file: exec(file.read())]]></code></script>
     <inport name="var"    type="pyobj"/>
     <inport name="info"   type="pyobj"/>
     <inport name="script" type="string"/>