sveden-parser/scripts/contingent_parser.php

40 lines
1.3 KiB
PHP

<?php
use SvedenParser\Color;
use SvedenParser\Parser\ContingentManager;
use SvedenParser\Parser\ContingentRepository;
use SvedenParser\Printer;
use SvedenParser\Repository;
use Symfony\Component\Yaml\Yaml;
define('SVEDEN_PARSER', '/home/developer/sveden_parser');
require_once SVEDEN_PARSER . "/vendor/autoload.php";
if (file_exists(Repository::FILE_ADD_RECORDING)) {
Printer::println("Обнаружен файл " . Repository::FILE_ADD_RECORDING, Color::RED);
Printer::print("Продолжить y/n? ", Color::BLUE);
$action = trim(fgets(STDIN));
if ($action !== 'y') {
exit;
}
}
$manager = new ContingentManager();
$sites = $manager->getSites();
$start = 0; $end = count($sites);
for ($i = $start; $i < $end; $i++) {
Printer::print(++$i . ". ", Color::GREEN);
$manager->collectData($sites[--$i]);
}
Printer::println();
if (!file_exists(Repository::FILE_ADD_RECORDING)) {
Printer::println("Файл " . Repository::FILE_ADD_RECORDING . " не обнаружен. Дозапись в базу не требуется");
exit;
}
$contingent = Yaml::parse(file_get_contents(SVEDEN_PARSER . '/' . Repository::FILE_ADD_RECORDING));
(new ContingentRepository())->insert($contingent);
Printer::println("Дозапись выполнена!", Color::BLUE);