#gscope_sqlite.tcl proc LoadSqlonage {{Action ""}} { global LoadSqlonage package require sqlite3 set FichierSqlonage "[RepertoireDuGenome]/sqlite/Sqlonage.db" if {$Action=="GetFileName"} { return $FichierSqlonage } if {[info exists LoadSqlonage(DbName)]} { if {$Action=="Reset"} { FaireLire "Please rerun gscope to reset the Sqlonage database" ; return "" } return $LoadSqlonage(DbName) } if {[string equal -nocase $Action "Reset"] && [FileExists $FichierSqlonage]} { Garde $FichierSqlonage file delete $FichierSqlonage } set LoadSqlonage(DbName) [sqlite3 Sqlonage $FichierSqlonage] return $LoadSqlonage(DbName) } proc CreateSqlonage {{Action ""}} { LoadSqlonage $Action Sqlonage eval "create table if not exists \ oli(pk_oli INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, type TEXT, sens TEXT, seq TEXT, freetext TEXT)" Sqlonage eval "begin transaction" foreach P [Oli LaListeMerci] { set Name $P set Type [Oli $P "Type"] set Seq [Oli $P "Seq"] set Sens [Oli $P "Sens"] set Description [Oli $P "Description"] regsub -all "'" $Sens "''" Sens regsub -all "'" $Description "''" Description Sqlonage eval "insert into oli (name, type, sens, seq, freetext) values('$Name', '$Type', '$Sens', '$Seq', '$Description')" } Sqlonage eval "end transaction" } proc OliSqlo {{P ""} {Quoi ""}} { LoadSqlonage if {$P==""} { set P "LaListeMerci" } if {$P=="LaListeMerci"} { return [Sqlonage eval "select name from oli order by name"] } if {[regexp -nocase "^select " $P]} { set Sql $P ; return [Sqlonage eval $Sql] } if {[EstUnP $P]} { if {$Quoi==""} { set Quoi "Seq" } set Result [Sqlonage eval "select $Quoi from oli where name='$P'"] if {[regexp {\,|\*} $Quoi]} { return $Result } return [lindex $Result 0] } }