Skip to content
Snippets Groups Projects
Commit 0e215e88 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Ligne de commande d'import : nouvel argument --verbose pour obtenir plus de logs.

parent b87388ac
No related branches found
No related tags found
No related merge requests found
......@@ -40,20 +40,22 @@ class Module
{
return [
// command
'import --service= --etablissement= [--source-code=] [--synchronize=] [--em=]' => "Importer toutes les données d'un service d'un établissement.",
'import --service= --etablissement= [--source-code=] [--synchronize=] [--verbose] [--em=]' => "Importer toutes les données d'un service d'un établissement.",
// parameters
['--service', "Requis. Identifiant du service, ex: 'variable'"],
['--etablissement', "Requis. Identifiant de l'établissement, ex: 'UCN'"],
['--source-code', "Facultatif. Source code du seul enregistrement à importer"],
['--synchronize', "Facultatif. Réaliser ou non la synchro SRC_XXX => XXX. Valeurs possibles: 0, 1. Valeur par défaut: 1."],
['--verbose', "Facultatif. Activer les logs verbeux (debug)."],
['--em', "Facultatif. Nom de l'EntityManager à utiliser. Valeur par défaut: 'orm_default'."],
// command
'import-all --etablissement= [--synchronize=] [--em=]' => "Importer toutes les données de tous les serviceq d'un établissement.",
'import-all --etablissement= [--synchronize=] [--verbose] [--em=]' => "Importer toutes les données de tous les serviceq d'un établissement.",
// parameters
['--etablissement', "Requis. Identifiant de l'établissement, ex: 'UCN'"],
['--breakOnServiceNotFound', "Facultatif. Faut-il stopper si un service appelé n'existe pas. Valeurs possibles: 0, 1. Valeur par défaut: 1."],
['--synchronize', "Facultatif. Réaliser ou non la synchro SRC_XXX => XXX. Valeurs possibles: 0, 1. Valeur par défaut: 1."],
['--verbose', "Facultatif. Activer les logs verbeux (debug)."],
['--em', "Facultatif. Nom de l'EntityManager à utiliser. Valeur par défaut: 'orm_default'."],
// command
......
......@@ -67,7 +67,7 @@ return [
'import-console' => [
'type' => Simple::class,
'options' => [
'route' => 'import --service= --etablissement= [--source-code=] [--synchronize=] [--em=]',
'route' => 'import --service= --etablissement= [--source-code=] [--synchronize=] [--verbose] [--em=]',
'defaults' => [
'controller' => Import\Controller\ImportController::class,
'action' => 'import-console',
......@@ -77,7 +77,7 @@ return [
'import-all-console' => [
'type' => Simple::class,
'options' => [
'route' => 'import-all --etablissement= [--breakOnServiceNotFound=] [--synchronize=] [--em=]',
'route' => 'import-all --etablissement= [--breakOnServiceNotFound=] [--synchronize=] [--verbose] [--em=]',
'defaults' => [
'controller' => Import\Controller\ImportController::class,
'action' => 'import-all-console',
......
......@@ -132,19 +132,21 @@ class ImportController extends AbstractActionController
* avec les tables destinations.
*
* @return ViewModel
* @throws StructureNotFoundException
*/
public function importAction()
{
$service = $this->params('service');
$codeStructure = $this->params('etablissement'); // ex: 'UCN'
$sourceCode = $this->params('source_code');
$verbose = (bool) $this->params('verbose', 0);
$queryParams = $this->params()->fromQuery();
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
$stream = fopen('php://memory','r+');
$this->setLoggerStream($stream);
$this->setLoggerStream($stream, $verbose);
$this->importService->import($service, $etablissement, $sourceCode, $queryParams);
......@@ -165,15 +167,17 @@ class ImportController extends AbstractActionController
* des données obtenues avec les tables destinations.
*
* @return ViewModel
* @throws StructureNotFoundException
*/
public function importAllAction()
{
$codeStructure = $this->params('etablissement'); // ex: 'UCN'
$verbose = (bool) $this->params('verbose', 0);
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
$stream = fopen('php://memory','r+');
$this->setLoggerStream($stream);
$this->setLoggerStream($stream, $verbose);
$this->importService->importAll($etablissement);
......@@ -196,6 +200,7 @@ class ImportController extends AbstractActionController
{
$codeEtablissement = $this->params('etablissement');
$sourceCodeThese = $this->params('source_code');
$verbose = (bool) $this->params('verbose', 0);
if (! $sourceCodeThese) {
throw new LogicException("Le source code de la thèse est requis");
......@@ -210,7 +215,7 @@ class ImportController extends AbstractActionController
}
$stream = fopen('php://memory','r+');
$this->setLoggerStream($stream);
$this->setLoggerStream($stream, $verbose);
$this->importService->updateThese($these);
......@@ -226,6 +231,9 @@ class ImportController extends AbstractActionController
]);
}
/**
* @throws StructureNotFoundException
*/
public function importConsoleAction()
{
$service = $this->params('service');
......@@ -233,8 +241,9 @@ class ImportController extends AbstractActionController
$sourceCode = $this->params('source-code');
$synchronize = (bool) $this->params('synchronize', 1);
$emName = $this->params('em', 'orm_default');
$verbose = (bool) $this->params('verbose', 0);
$this->setLoggerStream('php://output');
$this->setLoggerStream('php://output', $verbose);
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
......@@ -254,16 +263,20 @@ class ImportController extends AbstractActionController
) . PHP_EOL;
}
/**
* @throws StructureNotFoundException
*/
public function importAllConsoleAction()
{
$codeStructure = $this->params('etablissement'); // ex: 'UCN'
$breakOnServiceNotFound = (bool) $this->params('breakOnServiceNotFound', 1);
$synchronize = (bool) $this->params('synchronize', 1);
$emName = $this->params('em', 'orm_default');
$verbose = (bool) $this->params('verbose', 0);
$etablissement = $this->fetchEtablissementByCodeStructure($codeStructure);
$this->setLoggerStream('php://output');
$this->setLoggerStream('php://output', $verbose);
/** @var EntityManager $entityManager */
$entityManager = $this->getServiceLocator()->get("doctrine.entitymanager.$emName");
......@@ -282,10 +295,11 @@ class ImportController extends AbstractActionController
/**
* @param string|resource $stream
* @param bool $verbose
*/
private function setLoggerStream($stream)
private function setLoggerStream($stream, $verbose = false)
{
$filter = new Priority(Logger::INFO);
$filter = new Priority($verbose ? Logger::DEBUG : Logger::INFO);
$writer = new Stream($stream);
$writer->addFilter($filter);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment