Subversion Repositories eFlore/Projets.eflore-projets

Compare Revisions

Ignore whitespace Rev 838 → Rev 953

/trunk/scripts/modules/nvjfl/Nvjfl.php
14,10 → 14,6
'-t' => array(false, false, 'Permet de tester le script sur un jeux réduit de données (indiquer le nombre de lignes).'));
 
public function executer() {
// désactive le problématique gestionnaire d'erreur du framework
restore_error_handler();
restore_exception_handler();
ini_set('mysql.default_socket', '/home/raphael/web/mysql/mysql.sock');
// Lancement de l'action demandée
try {
$this->initialiserProjet('nvjfl');
63,28 → 59,24
private function chargerNvjfl() {
//Debug::printr(Config::get('fichiers'));
$fichierOuvert = $this->ouvrirFichier(Config::get('chemins.nvjfl'));
$donnees = $this->analyserFichier($fichierOuvert);
fclose($fichierOuvert);
foreach ($donnees as $donnee) {
$requete = 'INSERT INTO '.Config::get('tables.nvjfl').' VALUES ('.implode(', ', $donnee).')';
$this->getBdd()->requeter($requete);
 
while(($donnees = $this->analyserFichier($fichierOuvert))) {
foreach ($donnees as $donnee) {
$requete = 'INSERT INTO '.Config::get('tables.nvjfl').' VALUES ('.implode(', ', $donnee).')';
var_dump($donnee);die;
$this->getBdd()->requeter($requete);
 
$this->afficherAvancement("Insertion des noms vernaculaires dans la base de données");
if ($this->stopperLaBoucle($this->getParametre('t'))) {
break;
}
$this->afficherAvancement("Insertion des noms vernaculaires dans la base de données");
if ($this->stopperLaBoucle($this->getParametre('t'))) {
break;
}
echo "\n";
}
fclose($fichierOuvert);
echo "\n";
}
 
private function analyserFichier($fichierOuvert, $limite = 30000) {
static $passe = 1;
if($passe == 1) $entetesCsv = fgets($fichierOuvert);
private function analyserFichier($fichierOuvert) {
$donnees = array();
while (count($donnees) < $limite && ($ligneCsv = fgets($fichierOuvert))) {
$entetesCsv = fgets($fichierOuvert);
while ($ligneCsv = fgets($fichierOuvert)) {
$champs = explode("\t", trim($ligneCsv));
if (count($champs) > 0) {
if (isset($champs[2])) {
94,12 → 86,11
$donnees[] = $this->protegerValeursDesChamps($champs);
}
}
$this->afficherAvancement("Analyse du fichier des noms vernaculaires (passe $passe)");
$this->afficherAvancement("Analyse du fichier des noms vernaculaires");
if ($this->stopperLaBoucle()) {
break;
}
}
$passe++;
echo "\n";
return $donnees;
}
110,7 → 101,6
$this->nomsIndex[$nomVernaculaire] = $this->numeroIndex++;
}
$indexCourrant = $this->nomsIndex[$nomVernaculaire];
echo "$nomVernaculaire : $indexCourrant\n";
return $indexCourrant;
}