diff --git a/library/Class/Cosmogramme/FileParser.php b/library/Class/Cosmogramme/FileParser.php index d69ae943ffe36fc058c889b5ba42f43d6414fd5a..f509589ddd339a77b664dac5a0f8cf393130ae9b 100644 --- a/library/Class/Cosmogramme/FileParser.php +++ b/library/Class/Cosmogramme/FileParser.php @@ -23,29 +23,20 @@ * Bokeh translation from cosmogramme API cosmogramme/php/classes/classe_parseur.php */ abstract class Class_Cosmogramme_FileParser { - use Trait_StaticFileSystem; - - const FORMAT_UNIMARC = 0; - const FORMAT_ASCII_TAB = 1; - const FORMAT_ASCII_COMMA = 2; - const FORMAT_ASCII_PIPE = 3; - const FORMAT_XML = 4; - const FORMAT_CSV = 5; - const FORMAT_MARC21 = 6; - const FORMAT_AVENIO = 8; - const FORMAT_DUBLIN_CORE =11; - + use Trait_StaticFileSystem, Trait_Translator; protected static $_format_parsers = - [self::FORMAT_UNIMARC => 'Marc', - self::FORMAT_ASCII_TAB => 'Ascii_Tab', - self::FORMAT_ASCII_COMMA => 'Ascii_Comma', - self::FORMAT_ASCII_PIPE => 'Ascii_Pipe', - self::FORMAT_XML => 'Xml', - self::FORMAT_CSV => 'Csv', - self::FORMAT_MARC21 => 'Marc', - self::FORMAT_AVENIO => 'Ascii_Tab', - self::FORMAT_DUBLIN_CORE => 'OaiDC']; + [ + Class_IntProfilDonnees::FORMAT_UNIMARC => 'Marc', + Class_IntProfilDonnees::FORMAT_TABBED_ASCII => 'Ascii_Tab', + Class_IntProfilDonnees::FORMAT_SEMI_COLON_ASCII => 'Ascii_Comma', + Class_IntProfilDonnees::FORMAT_PIPED_ASCII => 'Ascii_Pipe', + Class_IntProfilDonnees::FORMAT_XML => 'Xml', + Class_IntProfilDonnees::FORMAT_CSV => 'Csv', + Class_IntProfilDonnees::FORMAT_MARC21 => 'Marc', + Class_IntProfilDonnees::FORMAT_AVENIO => 'Ascii_Tab', + Class_IntProfilDonnees::FORMAT_BIBLIONDEMAND => 'OaiDC', + ]; protected $_file_handle, $_position, $_file_size, $_profil; protected $_errors = []; @@ -54,7 +45,7 @@ abstract class Class_Cosmogramme_FileParser { public static function openFor($file, $position, $profil) { $format = $profil->getFormat(); if (!in_array($format, array_keys(static::$_format_parsers))) - throw new RuntimeException('Format ' . $format . ' non pris en charge'); + throw new RuntimeException($this->_('Format %s non pris en charge', $format)); $class = 'Class_Cosmogramme_FileParser_' . static::$_format_parsers[$format]; return new $class($file, $position, $profil); @@ -133,7 +124,7 @@ class Class_Cosmogramme_FileParser_Marc extends Class_Cosmogramme_FileParser { break; } - $record = $fileSystem->fread($this->_file_handle, self::READ_SIZE); + $record = $fileSystem->fread($this->_file_handle, static::READ_SIZE); if ($fileSystem->feof($this->_file_handle) && !$record) { $at_end = true;