Salome HOME
IMP: Verima / New Plugin: Added a plugin for meshers quality testing (work done at...
[modules/smesh.git] / src / Tools / Verima / Base / tablePerfs.py
1 from PyQt4 import QtSql, QtCore
2 from tableDeBase import TableDeBase
3
4 class TablePerfs (TableDeBase):
5       def __init__(self):
6           TableDeBase.__init__(self,"Perfs")
7           self.setField(('Maillage','Version','Machine','NbSecCpu','Memoire'))
8           self.setTypeField(('int','int','str','int','int'),('idMaillage','idVersion','Machine'))
9
10       def createSqlTable(self):
11           query=QtSql.QSqlQuery()
12           texteQuery ="create table Perfs(idMaillage int, idVersion int, Machine varchar(10),  NbCpu int, Mem int, "
13           texteQuery+="foreign key (idMaillage) references Maillages(id)," 
14           texteQuery+="foreign key (idVersion) references Versions(id)," 
15           texteQuery+="foreign key (Machine) references Machines(nomMachine)," 
16           texteQuery+="primary key (idMaillage, idVersion, Machine));"
17
18           print "Creation de TablePerfs : " , query.exec_(texteQuery)
19
20       def getVal(self,idMaillage,idVersion,Machine):
21           query=QtSql.QSqlQuery()
22           texteQuery ='select NbCpu from Perfs  where idMaillage=' + str(idMaillage)
23           texteQuery +=' and idVersion = ' + str(idVersion)
24           texteQuery +=" and Machine ='"  + Machine + "';" 
25           query.exec_(texteQuery)
26           cpu=None
27           while (query.next()) :
28               cpu=query.value(0).toInt()[0]
29           while (query.next()) :
30               print "plusieurs enregistrements dans perf pour ",str(idMaillage)," ",str(idVersion)," ",Machine
31           if cpu==None :
32               print "pas d enregistrement dans perf pour ",str(idMaillage)," ",str(idVersion)," ",Machine
33           return cpu