www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 55281c14f4710dd590f63a23043d46331dec7ad3
parent d63413b69600a5c30096d9b75b8a60644b32ded4
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Sat, 12 Feb 2011 16:10:25 +0100

Correction de plusieurs bugs dans les scripts de conversion de dump, compatibilité accrue avec les systèmes pommés :D .

Diffstat:
Mcode/serveur/README.sh | 8+++++++-
Mcode/serveur/dump2sqlite.sh | 8++++++--
2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/code/serveur/README.sh b/code/serveur/README.sh @@ -2,14 +2,20 @@ # cat dump.url # Aller à cette adresse, et télécharger le dernier dump +echo echo "Étape 1/3 : Téléchargement" -latest="$(wget 'http://www.lirmm.fr/~lafourcade/JDM-LEXICALNET-FR/?C=M;O=D' -O- | grep '\-LEXICALNET\-JEUXDEMOTS\-FR\-\(NOHTML\)\?\.txt' | head -n 1 | sed -e 's/^.*<a href="\([0-9]*-LEXICALNET-JEUXDEMOTS-FR-\(NOHTML\)\?\.txt\)">.*$/\1/')" +echo "==========================" +latest="$(wget 'http://www.lirmm.fr/~lafourcade/JDM-LEXICALNET-FR/?C=M;O=D' -O- | grep '\-LEXICALNET\-JEUXDEMOTS\-FR\-\(NOHTML\)\?\.txt' | head -n 1 | sed -E -e 's/^.*<a href="([0-9]*-LEXICALNET-JEUXDEMOTS-FR-(NOHTML)?\.txt)">.*$/\1/')" wget 'http://www.lirmm.fr/~lafourcade/JDM-LEXICALNET-FR/'"$latest" +echo echo "Étape 2/3 : Conversion vers sql" +echo "===============================" ./dump2sqlite.sh "$latest" > sql +echo echo "Étape 3/3 : Insertion dans la bdd" +echo "=================================" mv php/db php/db.old pv sql | sqlite3 php/db diff --git a/code/serveur/dump2sqlite.sh b/code/serveur/dump2sqlite.sh @@ -2,6 +2,9 @@ # TODO : sed -E sur certaines machines, sed -r sur d'autres. +user="foo" +passwd="bar" + echo " dump2sql.sh : conversion des dumps de JeuxDeMots vers du sql (sqlite3)." >&2 echo " La progression est affichée avec pv. Si vous n'avez pas pv, supprimez la ligne correspondante dans ce script." >&2 echo " Et c'est parti !" >&2 @@ -9,6 +12,7 @@ echo >&2 # Played_game(type) : 0 => partie de référence, 1 => joueur # Note : l'index i_played_game_all sert à la vérification lors du set_partie. +# Note : le echo | dd | md5 permet de ne pas avoir le \n, y compris sur les versions de sh sous mac boguées qui ne supportent pas «echo -n» cat <<EOF begin transaction; @@ -22,7 +26,7 @@ create table game_cloud(gid, num, difficulty, eid_word, totalWeight, probaR1, pr create table played_game(pgid integer primary key autoincrement, gid, login, timestamp); create table played_game_cloud(pgid, gid, type, num, relation, weight, score); -insert into user(login, mail, hash_passwd, score) values('foo', 'foo@isp.com', '$(echo -n 'bar' | md5sum | cut -d ' ' -f 1)', 0); +insert into user(login, mail, hash_passwd, score) values('$(echo "$user" | sed -e "s/'/''/g")', 'foo@isp.com', '$(echo "$pass" | dd bs=1 count="${#pass}" | (if which md5sum; then md5sum; else md5; fi) | cut -d ' ' -f 1)', 0); create index i_relation_start on relation(start); create index i_relation_end on relation(end); @@ -38,7 +42,7 @@ cat "$1" \ | iconv -f iso-8859-1 -t utf-8 \ | tr '\r' ' ' \ | sed -e 's/X/XX/g' | sed -e 's/A/Xa/g' | tr '\n' 'A' | sed -e 's/A")/")/g' | tr 'A' '\n' | sed -e 's/Xa/A/g' | sed -e 's/XX/X/g' \ -| pv -s $(wc -c < "$1") \ +| pv -s "0$(wc -c < "$1")" \ | sed -E -e "s#'#''#g" \ -e 's#^/?// [0-9]+ occurrences of relations ([a-z_]+) \(t=([0-9]+) nom_etendu="([^"]+)" info="([^"]+)"\)$#insert into type_relation(name, num, extended_name, info) values('\''\1'\'', \2, '\''\3'\'', '\''\4'\'');#' \ -e 's#^/?// [0-9]+ occurrences of nodes ([a-z_]+) \(t=([0-9]+)\)$#insert into type_node(name, num) values('\''\1'\'', \2);#' \