Salome HOME
Copyright update 2022
[modules/smesh.git] / src / Tools / Verima / Base / tableRatios.py
index 2a54286ff36d9a11f956fd2506f2c7e7220013cf..ac9739da20de4aad146d2308f82149eda2ce3edf 100644 (file)
@@ -1,16 +1,35 @@
-from PyQt4 import QtSql, QtCore
-from tableDeBase import TableDeBase
+# Copyright (C) 2013-2022  EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+from qtsalome import QSqlQuery
+from Base.tableDeBase import TableDeBase
 
 class TableRatios (TableDeBase):
       def __init__(self):
           TableDeBase.__init__(self,"Ratios")
-          self.setField(('Maillage','Version','Machine','RatioMax','RatioMin','Quartile1','Mediane','Quartile3','Moyenne'))
-          self.setTypeField(('int','int','str','float','float','float','float','float','float'),('idMaillage','idVersion','Machine'))
+          self.setField(('Maillage','Version','RatioMax','RatioMin','Quartile1','Mediane','Quartile3','Moyenne'))
+          self.setTypeField(('int','int','float','float','float','float','float','float'),('idMaillage','idVersion','Machine'))
 
       def createSqlTable(self):
-          query=QtSql.QSqlQuery()
+          query=QSqlQuery()
 
-          texteQuery ="create table Ratios(idMaillage int, idVersion int, Machine varchar(10),"
+          texteQuery ="create table Ratios(idMaillage int, idVersion int, "
           texteQuery+="RatioMax float, RatioMin float, "
           texteQuery+="Q1 float,"
           texteQuery+="Mediane float,"
@@ -18,22 +37,20 @@ class TableRatios (TableDeBase):
           texteQuery+="Moyenne float,"
           texteQuery+="foreign key (idMaillage) references Maillages(id)," 
           texteQuery+="foreign key (idVersion) references Versions(id)," 
-          texteQuery+="foreign key (Machine) references Machines(nomMachine)," 
-          texteQuery+="primary key (idMaillage,idVersion,Machine));"
+          texteQuery+="primary key (idMaillage,idVersion));"
 
-          print "Creation de TableRatios : " , query.exec_(texteQuery)
+          print("Creation de TableRatios : " , query.exec_(texteQuery))
 
-      def getVal(self,idMaillage, idVersion, Machine, Entite):
-          query=QtSql.QSqlQuery()
+      def getVal(self,idMaillage, idVersion,  Entite):
+          query=QSqlQuery()
           texteQuery ='select '+ str(Entite) + ' from Ratios where idMaillage='+str(idMaillage)
           texteQuery+=' and  idVersion='+str(idVersion)
-          texteQuery+=" and Machine='" + str(Machine) +"';"
           query.exec_(texteQuery)
           nb=0
           val=0                          # Valeur si l enregistrement n existe pas
           while (query.next()) :
-              val=query.value(0).toInt()[0]
+              val=query.value(0).toFloat()[0]
               nb=nb+1
-          if nb > 1 : print "Double valeur de Reference dans la table des mailles"
+          if nb > 1 : print("Double valeur de Reference dans la table des mailles")
           return val