Salome HOME
IMP: Verima / New Plugin: Added a plugin for meshers quality testing (work done at...
[modules/smesh.git] / src / Tools / Verima / Base / tableVersions.py
diff --git a/src/Tools/Verima/Base/tableVersions.py b/src/Tools/Verima/Base/tableVersions.py
new file mode 100644 (file)
index 0000000..02d2351
--- /dev/null
@@ -0,0 +1,73 @@
+from PyQt4 import QtSql, QtCore
+from tableDeBase import TableDeBase
+
+class TableVersions (TableDeBase):
+       def __init__(self):
+            TableDeBase.__init__(self,"Versions")
+            self.setField(("id","nomVersion","Reference"))
+            self.setTypeField(('int','str','str'),("id"))
+            self.cols=" (nomVersion, ref) "
+
+        def createSqlTable(self):
+            query=QtSql.QSqlQuery()
+            texteQuery ="create table Versions(id integer primary key autoincrement, nomVersion varchar(10),"
+            texteQuery+="ref varchar(3));"
+            print "Creation de TableVersions : " , query.exec_(texteQuery)
+
+        def dejaRemplie(self):
+            texteQuery="select * from  Versions where nomVersion='Salome6.6';"
+            maQuery=QtSql.QSqlQuery()
+            maQuery.exec_(texteQuery)
+            nb=0
+            while(maQuery.next()): nb=nb+1
+            return nb
+
+        def remplit(self):
+#PN         pour tester
+            if self.dejaRemplie():
+               print "Table des Versions deja initialisee"
+               return
+            self.insereLigneAutoId(('Salome6.6','non'))
+            self.insereLigneAutoId(('Salome7.3','oui'))
+
+        def creeVersion(self,version):
+            self.insereLigneAutoId((version,'non'))
+
+        
+        def chercheVersion(self,version):
+            query=QtSql.QSqlQuery()
+            version=str(version)
+            if QtCore.QString(version).toInt()[1]==True :
+               texteQuery ="select id, nomVersion from Versions where id = " + str(version) +";"
+            else:
+               texteQuery ="select id, nomVersion from Versions where nomVersion ='" + version +"' ;"
+            query.exec_(texteQuery)
+            nb=0
+            while(query.next()):
+               nb=nb+1
+               id=query.value(0).toInt()[0]
+               nom=query.value(1).toString()
+            if nb != 1 : return 0, 0, ""
+            return  1, id, nom
+
+        def remplaceVersion(self,version):
+            bOk,versionId,versionName = self.chercheVersion(version)
+            if bOk == 0 : return "La version choisie comme version de reference n est pas dans la base"
+            query=QtSql.QSqlQuery()
+            texteQuery ='update Versions set ref="non" where ref="oui";'
+            query.exec_(texteQuery)
+            texteQuery ='update Versions set ref="oui"where id='+str(versionId)+";"
+            query.exec_(texteQuery)
+            return "changement effectue"
+           
+        def getVersionRef(self):
+            query=QtSql.QSqlQuery()
+            texteQuery ='select id from Versions  where ref="oui";'
+            query.exec_(texteQuery)
+            while (query.next()) : 
+               id=query.value(0).toInt()[0]
+            while (query.next()) :
+               print "Base corrompue : plusieurs versions de reference"
+               exit()
+            return id
+