From f6f79198b6467435fd7caccd2067eb0a29c97787 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 21 Jun 2019 22:58:16 +0000 Subject: [PATCH] Move mapping creation to a function in lib/output.php --- regenerate.php | 14 ++------------ parse.php | 11 +---------- lib/output.php | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 22 deletions(-) diff --git a/lib/output.php b/lib/output.php index d3fd6d9..4d05b40 100644 --- a/lib/output.php +++ b/lib/output.php @@ -1,4 +1,21 @@ <?php +function createMapping($db, $mapFunction, $saveConfig = FALSE) { + $mapping = []; + foreach($db->getAll() as $vehicle) { + $mapping[$vehicle['id']] = $mapFunction($vehicle['num']); + } + + if($saveConfig) { + $json = json_encode($mapping); + if(!file_put_contents($saveConfig['result_temp'], $json)) { + throw new Exception('Result save failed'); + } + rename($saveConfig['result_temp'], $saveConfig['result']); + } + + return $mapping; +} + function createVehiclesList($trips, $mapping, $saveConfig = FALSE) { $lines = []; foreach($trips as $trip) { diff --git a/parse.php b/parse.php index ebd18cd..8a5416e 100644 --- a/parse.php +++ b/parse.php @@ -82,16 +82,7 @@ $db->addMapping($mapping); - $jsonContent = []; - foreach($db->getAll() as $vehicle) { - $jsonContent[$vehicle['id']] = $source['mapper']($vehicle['num']); - } - - $json = json_encode($jsonContent); - if(!file_put_contents($source['result_temp'], $json)) { - throw new Exception('Result save failed'); - } - rename($source['result_temp'], $source['result']); + createMapping($db, $source['mapper'], $source); $logger->info('Creating vehicle list...'); diff --git a/regenerate.php b/regenerate.php index cd1186a..33db824 100644 --- a/regenerate.php +++ b/regenerate.php @@ -1,6 +1,7 @@ <?php require_once(__DIR__.'/vendor/autoload.php'); require_once(__DIR__.'/lib/database.php'); +require_once(__DIR__.'/lib/output.php'); require_once(__DIR__.'/lib/vehicle_types.php'); require_once(__DIR__.'/config.php'); @@ -8,19 +9,8 @@ $logger = new Monolog\Logger('regenerate_'.$name); try { $logger->info('Regenerating '.$name.'...'); - $db = new Database($source['database']); - - $jsonContent = []; - foreach($db->getAll() as $vehicle) { - $jsonContent[$vehicle['id']] = $source['mapper']($vehicle['num']); - } - - $json = json_encode($jsonContent); - if(!file_put_contents($source['result_temp'], $json)) { - throw new Exception('Result save failed'); - } - rename($source['result_temp'], $source['result']); + createMapping($db, $source['mapper'], $source); $logger->info('Finished'); } catch(Throwable $e) { $logger->error($e->getMessage(), ['exception' => $e, 'exception_string' => (string)$e]); -- Gitblit v1.9.1