protected function execute(InputInterface $input, OutputInterface $output)
 {
     $projectCode = $input->getOption('project-code');
     $imageResource = new DataImageResource($this->sourceClient);
     $result = $imageResource->getList(1, 20, [], [], [], ['project_code' => $projectCode]);
     foreach ($result['items'] as $idx => $image) {
         $data[] = ['code' => isset($image['code']) ? $image['code'] : '', 'name' => isset($image['name']) ? $image['name'] : '', 'image_url' => isset($image['image_url']) ? $image['image_url'] : ''];
     }
     $table = new Table($output);
     $table->setHeaders(['code', 'name', 'url'])->setRows($data);
     $table->render();
 }
Exemple #2
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     //        $output->writeln("<error>Command not implemented yet</error>");
     //        die();
     $isVerbose = $output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE;
     $sourceProject = $input->getOption('source-project-code');
     $targetProject = $input->getOption('target-project-code');
     $fromData = new DataImageResource($this->sourceClient);
     $toData = new DataImageResource($this->client);
     $projectResource = new ProjectResource($this->client);
     $userResource = new UserResource($this->client);
     $project = $projectResource->getOneBy(['code' => $targetProject]);
     if (!$project) {
         $output->writeln("<error>Target project {$targetProject} not found</error>");
         die;
     }
     $page = 0;
     $perPage = 10;
     $maxPages = 1;
     while ($page < $maxPages) {
         $dataImages = $fromData->getList(++$page, $perPage, [], [], [], ['project_code' => $sourceProject]);
         $maxPages = $dataImages['pages'];
         // if no items, return
         if (!count($dataImages['items']) || !$dataImages['total']) {
             break;
         }
         foreach ($dataImages['items'] as $key => $dataImage) {
             if ($isVerbose) {
                 $no = ($page - 1) * $perPage + $key + 1;
                 $output->writeln("{$no} - Reading member #{$dataImage['id']}");
             }
             $this->processDataFields($dataImage, $project);
             try {
                 $res = $toData->save($dataImage);
                 if ($isVerbose) {
                     $output->writeln("New member  #{$res['id']} saved");
                 }
             } catch (\Exception $e) {
                 $output->writeln("<error>Problem saving data: {$e->getMessage()} </error>");
                 var_dump($dataImage);
             }
         }
     }
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     //        $output->writeln("<error>Command not implemented yet</error>");
     //        die();
     $isVerbose = $output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE;
     $sourceProject = $input->getOption('source-project-code');
     $urlOnly = $input->getOption('url-only');
     $fromData = new DataImageResource($this->sourceClient);
     $projectResource = new ProjectResource($this->client);
     $userResource = new UserResource($this->client);
     if (!($outFile = $input->getOption('filename'))) {
         $outFile = $sourceProject . ($urlOnly ? '_urls.txt' : "_data.csv");
     }
     $fp = fopen($outFile, 'w');
     $page = 0;
     $perPage = 50;
     $maxPages = 1;
     while ($page < $maxPages) {
         $dataImages = $fromData->getList(++$page, $perPage, [], [], [], ['project_code' => $sourceProject]);
         $maxPages = $dataImages['pages'];
         // if no items, return
         if (!count($dataImages['items']) || !$dataImages['total']) {
             break;
         }
         foreach ($dataImages['items'] as $key => $dataImage) {
             $no = ($page - 1) * $perPage + $key + 1;
             if ($isVerbose) {
                 $output->writeln("{$no} - Reading data #{$dataImage['id']}");
             }
             if (!$urlOnly and $no == 1) {
                 fputcsv($fp, array_keys($dataImage));
             }
             // $this->processDataFields($dataImage);
             fputcsv($fp, $urlOnly ? [$dataImage['image_url']] : array_values($dataImage));
         }
         if ($no == $input->getOption('limit')) {
             break;
         }
     }
     fclose($fp);
     $output->writeln(sprintf("{$outFile} written with %d %s", $no, $urlOnly ? 'urls' : 'records'));
 }
Exemple #4
0
<?php

require __DIR__ . '/../vendor/autoload.php';
use Survos\Client\SurvosClient;
use Survos\Client\Resource\DataImageResource;
use Survos\Client\SurvosCriteria;
$config = json_decode(file_get_contents(__DIR__ . '/config.json'), true);
$client = new SurvosClient($config['endpoint']);
if (!$client->authorize($config['username'], $config['password'])) {
    throw new \Exception('Wrong credentials!');
}
/**
 * get list of images created after 2015-06-25 22:40:54
 * and with field 'time' matching 'afternoon'
 */
$resource = new DataImageResource($client);
$filter = ['created_at' => '2015-06-25 22:40:54'];
//OR 2015-09-16
$comparison = ['created_at' => SurvosCriteria::GREATER_THAN];
$jsonSearch = ['json_key' => 'time', 'json_value' => 'afternoon', 'json_cmp' => '='];
$data = $resource->getList(1, 100, $filter, $comparison, null, $jsonSearch);
$items = $data['items'];