Jacek Kowalski
2019-06-21 ea2e9b41b3b1eace8e99d6e2672ffffb07665e04
Add regenerate.php to recreate JSON files in case of manual changes
1 files added
28 ■■■■■ changed files
regenerate.php 28 ●●●●● patch | view | raw | blame | history
regenerate.php
New file
@@ -0,0 +1,28 @@
<?php
require_once(__DIR__.'/vendor/autoload.php');
require_once(__DIR__.'/lib/database.php');
require_once(__DIR__.'/lib/vehicle_types.php');
require_once(__DIR__.'/config.php');
foreach($sources as $name => $source) {
    $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']);
        $logger->info('Finished');
    } catch(Throwable $e) {
        $logger->error($e->getMessage(), ['exception' => $e, 'exception_string' => (string)$e]);
    }
}