Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

No changes between revisions

Ignore whitespace Rev 351 → Rev 1078

/tags/v5.8-aspergeraie/scripts/modules/insee_d/insee-d.ini
New file
0,0 → 1,17
version="2011"
dossierTsv = "{ref:dossierDonneesEflore}insee-d/2011/"
dossierSql = "{ref:dossierTsv}"
 
[tables]
inseeD = "insee_d_v{ref:version}"
ontologies = "insee_d_ontologies_v{ref:version}"
 
[fichiers]
structureSql = "insee-d_v{ref:version}.sql"
inseeD = "insee-d_v{ref:version}.csv"
ontologies = "insee-d_ontologies_v{ref:version}.tsv"
 
[chemins]
structureSql = "{ref:dossierSql}{ref:fichiers.structureSql}"
inseeD = "{ref:dossierTsv}{ref:fichiers.inseeD}"
ontologies = "{ref:dossierTsv}{ref:fichiers.ontologies}"
/tags/v5.8-aspergeraie/scripts/modules/insee_d/InseeD.php
New file
0,0 → 1,75
<?php
/** Exemple lancement:
* /opt/lampp/bin/php -d memory_limit=3500M ~/web/eflore-projets/scripts/cli.php insee_d
* -a chargerTous
* Options :
* -t : Permet de tester le script sur un jeux réduit de données (indiquer le nombre de lignes).
*/
class InseeD extends EfloreScript {
 
public function executer() {
// Lancement de l'action demandée
try {
$this->initialiserProjet('insee-d');
 
$cmd = $this->getParametre('a');
switch ($cmd) {
case 'chargerTous' :
$this->chargerStructureSql();
$this->chargerInseeD();
$this->chargerOntologies();
break;
case 'chargerStructureSql' :
$this->chargerStructureSql();
break;
case 'chargerInseeD' :
$this->chargerInseeD();
break;
case 'chargerOntologies' :
$this->chargerOntologies();
break;
case 'supprimerTous' :
$this->supprimerTous();
break;
default :
throw new Exception("Erreur : la commande '$cmd' n'existe pas!");
}
} catch (Exception $e) {
$this->traiterErreur($e->getMessage());
}
}
 
private function chargerInseeD() {
$chemin = Config::get('chemins.inseeD');
$table = Config::get('tables.inseeD');
$requete = "LOAD DATA INFILE '$chemin' ".
"REPLACE INTO TABLE $table ".
'CHARACTER SET utf8 '.
'FIELDS '.
" TERMINATED BY ';' ".
" ENCLOSED BY '\"' ".
" ESCAPED BY '\\\' ".
'IGNORE 0 LINES';
$this->getBdd()->requeter($requete);
}
 
private function chargerOntologies() {
$chemin = Config::get('chemins.ontologies');
$table = Config::get('tables.ontologies');
$requete = "LOAD DATA INFILE '$chemin' ".
"REPLACE INTO TABLE $table ".
'CHARACTER SET utf8 '.
'FIELDS '.
" TERMINATED BY '\t' ".
" ENCLOSED BY '' ".
" ESCAPED BY '\\\' ".
'IGNORE 1 LINES';
$this->getBdd()->requeter($requete);
}
 
private function supprimerTous() {
$requete = "DROP TABLE IF EXISTS insee_d_meta, insee_d_ontologies_v2011, insee_d_v2011";
$this->getBdd()->requeter($requete);
}
}
?>
/tags/v5.8-aspergeraie/scripts/modules/insee_d/.
New file
Property changes:
Added: svn:ignore
+insee-d.ini