protected function wrap($path) { $pathToDirectory = Dearchiver::extract($this->fileDirectory, $path); $this->addVersionId($pathToDirectory); return new Directory($pathToDirectory); }
use FileSystem\Directory; use DataSource\XmlReader; require_once __DIR__ . '/../vendor/autoload.php'; $container = new Container(); $db = $container->getDb(); $logger = $container->getErrorLogger(); FailureHandler::setup(function ($error) use($logger) { $logger->error($error['message'], $error); fwrite(STDERR, "В процессе инициализации произошла ошибка:\n{$error['message']}\n"); exit(1); }); $db->start(); if ($_SERVER['argc'] == 2) { $path = $_SERVER['argv']['1']; if (!is_dir($path)) { $path = Dearchiver::extract($container->getFileDirectory(), $path); } $directory = new Directory($path); } else { $loader = $container->getUpdateLoader(); $directory = $loader->load(); } $oldVersionId = UpdateLogHelper::getLastVersionId($db); $newVersionId = $directory->getVersionId(); if ($newVersionId != $oldVersionId + 1) { throw new \LogicException("Попытка обновления с версии {$oldVersionId} на версию {$newVersionId}."); } $db->execute('SET CONSTRAINTS "address_objects_parent_id_fkey", "houses_parent_id_fkey" DEFERRED'); $housesConfig = $container->getHousesImportConfig(); $addressObjectsConfig = $container->getAddressObjectsImportConfig(); $deletedHouseFile = $directory->getDeletedHouseFile();
public function testNormalFile() { $this->extractedFiles = Dearchiver::extract($this->fileDirectory, $this->testRarFile); $this->assertEquals(md5_file($this->testTxtFile), md5_file($this->extractedFiles . '/' . basename($this->testTxtFile))); }