public function __construct($identifier, $bucketName = null) { $this->identifier = $identifier; if (empty($bucketName)) { $bucketName = lmv::getDefaultBucket(); } $this->lmv = new lmv($bucketName); }
public function __construct($bucketName = null) { $this->bucket = $bucketName ?: lmv::getDefaultBucket(null, true); $ret = preg_match('/^[-_.a-z0-9]{3,128}$/', $this->bucket); if (!$ret) { throw new \Exception('Invalid Bucket Name'); } $this->rootDir = utils::realpath(__DIR__ . '/../'); }
public function __construct($identifier, $bucketName = null) { $this->identifier = $identifier; if (empty($bucketName)) { $bucketName = lmv::getDefaultBucket(); } $this->lmv = new lmv($bucketName); $this->urn = $this->lmv->getURN($this->identifier); $this->mgr = new ExtractorProgressMgr($this->identifier); }
protected function execute(InputInterface $input, OutputInterface $output) { $identifier = $input->getArgument('identifier'); if (!$identifier) { $identifier = '1799-Auobj'; } $keys = $input->getOption('keys'); foreach ($keys as $envkey) { putenv($envkey); } $bucket = lmv::getDefaultBucket(); $translator = new Translator($identifier, $bucket); $bSuccess = $translator->translate(); utils::log($bSuccess ? 'ok' : 'oops'); }
protected function execute(InputInterface $input, OutputInterface $output) { $identifier = $input->getArgument('identifier'); if (!$identifier) { $identifier = '1799-Auobj'; } $keys = $input->getOption('keys'); foreach ($keys as $envkey) { putenv($envkey); } $bucket = lmv::getDefaultBucket(); $lmv = new lmv($bucket); $urn = $lmv->getURN($identifier); //$path =utils::normalize (__DIR__ . '/../data/' . $identifier . '.lock') ; //file_put_contents ($path, json_encode ([ '*****@*****.**' ])) ; $extractor = new Extractor($identifier, $bucket); $bSuccess = $extractor->extract(); utils::log($bSuccess ? 'ok' : 'oops'); }
public function dl(Silex\Application $app, $identifier, $fragment) { $bucket = lmv::getDefaultBucket(); $path = $app->dataDir("/{$identifier}.resultdb.json", true); if (!$path) { return new Response('', Response::HTTP_NOT_FOUND, ['Content-Type' => 'text/plain']); } $content = file_get_contents($path); $data = json_decode($content); $guid = $data->urn; $urn = "urn:adsk.viewing:fs.file:{$guid}/output/{$fragment}"; $lmv = new lmv($bucket); $response = $lmv->downloadItem($urn); if (is_int($reponse)) { return new Response('', Response::HTTP_NOT_FOUND, ['Content-Type' => 'text/plain']); } $filename = basename($fragment); return new Response($response, Response::HTTP_OK, ['Cache-Control' => 'private', 'Content-Type' => 'application/octet-stream', 'Content-Length' => strlen($response), 'Content-Disposition' => "attachment; filename=\"{$filename}\""]); // Send headers before outputting anything? //$response->sendHeaders () ; }
public function __construct($env) { utils::log('WEB Extract Application running'); parent::__construct($env); $app = $this; // Override these values in resources/config/prod.php file //$app ['var_dir'] =$this->rootDir . '/var' ; //$app ['locale'] ='fr' ; //$app ['http_cache.cache_dir'] =$app->share (function (Application $app) { // return ($app ['var_dir'] . '/http') ; //}) ; //$app ['monolog.options'] =[ // 'monolog.logfile' => $app['var_dir'].'/logs/app.log', // 'monolog.name' => 'app', // 'monolog.level' => 300, // = Logger::WARNING //] ; //$app ['security.users'] =array( 'alice' => array ( 'ROLE_USER', 'password' ) ) ; lmv::tokenObject(); //$app->register (new HttpCacheServiceProvider ()) ; $app->register(new SessionServiceProvider()); //$app->register (new ValidatorServiceProvider ()) ; //$app->register (new FormServiceProvider ()) ; //$app->register (new UrlGeneratorServiceProvider ()) ; //$app->register (new DoctrineServiceProvider ()) ; //$app->register (new SecurityServiceProvider (), array ( // 'security.firewalls' => array ( // 'admin' => array ( // 'pattern' => '^/', // 'form' => array ( // 'login_path' => '/login', // ), // 'logout' => true, // 'anonymous' => true, // 'users' => $app ['security.users'], // ), // ), //)) ; //$app ['security.encoder.digest'] =$app->share (function ($app) { // return (new PlaintextPasswordEncoder ()) ; //}) ; //$app ['security.utils'] =$app->share (function ($app) { // return (new AuthenticationUtils ($app ['request_stack'])) ; //}) ; //$app->register (new TranslationServiceProvider ()) ; //$app ['translator'] =$app->share($app->extend ('translator', function ($translator, $app) { // $translator->addLoader ('yaml', new YamlFileLoader ()) ; // $translator->addResource ('yaml', $this->rootDir.'/resources/translations/fr.yml', 'fr') ; // return ($translator) ; //})) ; //$app->register (new MonologServiceProvider (), $app ['monolog.options']) ; $app->register(new TwigServiceProvider(), array('twig.path' => array($this->rootDir . '/views'))); //$app ['twig'] = $app->share ($app->extend ('twig', function ($twig, $app) { // $twig->addFunction (new \Twig_SimpleFunction ('asset', function ($asset) use ($app) { // $base = $app['request_stack']->getCurrentRequest ()->getBasePath () ; // return (sprintf ($base . '/' . $asset, ltrim ($asset, '/'))) ; // })) ; // return ($twig) ; //})) ; //$app->mount ('', new ControllerProvider ()) ; $app->mount('/api', new LmvFile()); $app->mount('/api/projects', new LmvProjects()); $app->mount('/api/results', new LmvResults()); $app->get('/', function () use($app) { return $app['twig']->render('index.html.twig', []); }); $app->get('/explore/{identifier}', function ($identifier) use($app) { $bucket = lmv::getDefaultBucket(); $zipExist = $app->extractDir("/{$identifier}.zip", true) !== false; $path = $app->dataDir("/{$identifier}.resultdb.json"); $content = file_get_contents($path); if ($content === false) { $app->abort(Response::HTTP_NOT_ACCEPTABLE, "DB record not present"); return; } $data = json_decode($content); return $app['twig']->render('explore.twig', ['bucket' => $bucket, 'extracted' => $zipExist ? 'true' : 'false', 'urn' => $data->urn, 'accessToken' => lmv::bearer(), 'root' => $identifier]); }); }
public function submitProject(Silex\Application $app, Request $request) { $bucket = lmv::getDefaultBucket(); $policy = 'transient'; $connections = json_decode($request->getContent()); utils::log("master: {$connections->uniqueIdentifier}"); // Save parameters for the translate process $path = $app->dataDir("/{$connections->uniqueIdentifier}.dependencies.json"); if (file_put_contents($path, json_encode($connections)) === false) { utils::log('ERROR: project dependencies not saved :('); return new Response('', Response::HTTP_NOT_FOUND, ['Content-Type' => 'text/plain']); } $result = utils::executeScript("/translate.php lmv:translator {$connections->uniqueIdentifier}", true); if ($result === false) { return new Response('', Response::HTTP_INTERNAL_SERVER_ERROR, ['Content-Type' => 'text/plain']); } // We submitted, no clue if it was successful or if it will fail. $response = (object) array('status' => 'submitted'); return new JsonResponse($response, Response::HTTP_OK); //- 202 Accepted }