добавил абстракций и первые варианты для парсинга результатов према

This commit is contained in:
2024-10-10 11:51:24 +03:00
parent 984f6bda0a
commit 3b6fecec6c
310 changed files with 7831 additions and 44954 deletions

View File

@ -3,25 +3,25 @@
* При ошибке в запросе к БД. Распарсингованные данные
* сохраняются в yaml-файле. Скрипт парсит этот файл и заносит в БД
*/
use ContingentParser\Color;
use ContingentParser\Database\DatabaseFacade;
use ContingentParser\Printer;
use SvedenParser\Color;
use SvedenParser\ContingentParser\ContingentRepository;
use SvedenParser\Printer;
use Symfony\Component\Yaml\Yaml;
require_once __DIR__ . "/vendor/autoload.php";
try {
if (!file_exists(DatabaseFacade::FILE_ADD_RECORDING)) {
if (!file_exists(ContingentRepository::FILE_ADD_RECORDING)) {
throw new Exception(
"Файл " . DatabaseFacade::FILE_ADD_RECORDING
"Файл " . ContingentRepository::FILE_ADD_RECORDING
. " не обнаружен. Дозапись в базу не требуется"
);
}
$contingent = Yaml::parse(
file_get_contents(__DIR__ . '/' . DatabaseFacade::FILE_ADD_RECORDING)
file_get_contents(__DIR__ . '/' . ContingentRepository::FILE_ADD_RECORDING)
);
$databaseFacade = new DatabaseFacade();
$databaseFacade = new ContingentRepository();
$databaseFacade->insertContingent($contingent);
Printer::println("Дозапись выполнена!", Color::BLUE);

View File

@ -1,14 +1,17 @@
<?php
use SvedenParser\Color;
use SvedenParser\ContingentParser\ContingentFacade;
use SvedenParser\ContingentParser\ContingentManager;
use SvedenParser\Printer;
use Symfony\Component\Yaml\Yaml;
require_once __DIR__ . "/vendor/autoload.php";
$facade = new ContingentFacade();
$sites = $facade->getSitesFromLog('sites-http.log');
// $sites = $facade->getSites();
define('SVEDEN_PARSER', '/home/developer/sveden_parser');
require_once SVEDEN_PARSER . "/vendor/autoload.php";
$manager = new ContingentManager();
// $sites = $manager->getSitesFromLog('sites-http.log');
$sites = $manager->getSites();
// $sites = Yaml::parse(file_get_contents(dirname(__FILE__) ."/sites.yaml"));
$start = 0; $end = count($sites);
@ -17,7 +20,7 @@ $start = 0; $end = count($sites);
for ($i = $start; $i < $end; $i++) {
Printer::print(++$i . ". ", Color::GREEN);
$facade->collectDataFromContingent($sites[--$i]);
$manager->collectData($sites[--$i]);
}
Printer::println();
// require __DIR__ . "/add_recording.php";

View File

@ -1,5 +1,24 @@
<?php
use SvedenParser\Color;
use SvedenParser\PriemParser\PriemManager;
use SvedenParser\Printer;
use Symfony\Component\Yaml\Yaml;
require_once __DIR__ . "/vendor/autoload.php";
define('SVEDEN_PARSER', '/home/developer/sveden_parser');
require_once SVEDEN_PARSER . "/vendor/autoload.php";
$manager = new PriemManager();
$sites = $manager->getSites();
// $sites = Yaml::parse(file_get_contents(dirname(__FILE__) ."/sites.yaml"));
$start = 8; $end = count($sites);
// $start = 0; $end = (int)(count($sites) / 2);
// $start = (int)(count($sites) / 2); $end = count($sites);
for ($i = $start; $i < $end; $i++) {
Printer::print(++$i . ". ", Color::GREEN);
$manager->collectData($sites[--$i]);
}
Printer::println();

View File

@ -1,5 +1,6 @@
<?php
use SvedenParser\ContingentParser\ContingentFacade;
use SvedenParser\ContingentParser\ContingentManager;
require_once __DIR__ . "/vendor/autoload.php";
@ -36,7 +37,7 @@ function write($file, $source)
}
}
$facade = new ContingentFacade();
$facade = new ContingentManager();
$sourceAll = $facade->getSites();
$all = array_column($sourceAll, 'org_id'); // все организации
$inBase = $facade->getOrgInOpendata(); // организации уже в базе