Salome HOME
022491: EDF 2249 SMESH: Integration of a small python library for quadrangle meshing
[modules/smesh.git] / src / Tools / Verima / Base / tableTailles.py
1 from PyQt4 import QtSql, QtCore
2 from tableDeBase import TableDeBase
3
4 class TableTailles (TableDeBase):
5       def __init__(self):
6           TableDeBase.__init__(self,"Tailles")
7           self.setField(('Maillage','Version','Machine','TailleMax','TailleMin','Quartile1','Mediane','Quartile3','Moyenne'))
8           self.setTypeField(('int','int','str','float','float','float','float','float','float'),('idMaillage','idVersion','Machine'))
9
10       def createSqlTable(self):
11           query=QtSql.QSqlQuery()
12
13           texteQuery ="create table Tailles(idMaillage int, idVersion int, Machine varchar(10),"
14           texteQuery+="TailleMax float, TailleMin float, "
15           texteQuery+="Q1 float, "
16           texteQuery+="Mediane float, "
17           texteQuery+="Q3 float, "
18           texteQuery+="Moyenne float, "
19           texteQuery+="foreign key (idMaillage) references Maillages(id)," 
20           texteQuery+="foreign key (idVersion) references Versions(id)," 
21           texteQuery+="foreign key (Machine) references Machines(nomMachine)," 
22           texteQuery+="primary key (idMaillage,idVersion,Machine));"
23
24           print "Creation de TableTailles : " , query.exec_(texteQuery)
25
26       def getVal(self,idMaillage, idVersion, Machine, Entite):
27           query=QtSql.QSqlQuery()
28           texteQuery ='select '+ str(Entite) + ' from Tailles where idMaillage='+str(idMaillage)
29           texteQuery+=' and  idVersion='+str(idVersion)
30           texteQuery+=" and Machine='" + str(Machine) +"';"
31           query.exec_(texteQuery)
32           nb=0
33           val=0                          # Valeur si l enregistrement n existe pas
34           while (query.next()) :
35               val=query.value(0).toInt()[0]
36               nb=nb+1
37           if nb > 1 : print "Double valeur de Reference dans la table des mailles"
38           return val
39