/**
  * Execute command
  * @param  InputInterface  $input  Input
  * @param  OutputInterface $output Output
  * @return void
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $result = Infogreffe::search($input->getArgument('query'));
     if (empty($result)) {
         $output->writeln('<error>No result :/</error>');
     } else {
         foreach ($result as $org) {
             if ($input->getOption('url')) {
                 $output->writeln($org->getURL());
             } else {
                 $org->address['lines'] = implode(', ', $org->address['lines']);
                 $output->writeln($org->name . ' | ' . $org->siret . ' | ' . implode(', ', $org->address));
             }
         }
     }
 }
Exemple #2
0
 public static function company($request, $response, $params)
 {
     global $container;
     $types = Yaml::parse(file_get_contents(__DIR__ . '/../types.yml'));
     $results = Infogreffe::search($params['siret']);
     $client = new \Goutte\Client();
     if (empty($results)) {
         throw new \Exception('Numéro SIRET introuvable');
     }
     $crawler = $client->request('GET', $results[0]->getURL());
     $category = $crawler->filter('.first .identTitreValeur p:nth-of-type(5) .data');
     if ($category->count() == 0) {
         $category = $crawler->filter('[datapath="entreprise.personneMorale.identification.formeJuridique.libelle"] p');
     }
     $activity = $crawler->filter('.first .identTitreValeur p:nth-of-type(6) .data');
     if ($activity->count() == 0) {
         $activity = $crawler->filter('[datapath="activite.codeNAF"] p:first-of-type a');
     }
     if (count($category) > 0) {
         $categoryName = trim($category->text());
     } else {
         $categoryName = 'Forme juridique inconnue';
     }
     if ($categoryName == 'null') {
         $categoryName = 'Forme juridique inconnue';
     }
     if (count($activity) > 0) {
         $activityName = trim($activity->text());
     } else {
         $activityName = 'Inconnue';
     }
     if ($activityName == 'null') {
         $activityName = 'Inconnue';
     }
     $description = 'Informations sur ' . $results[0]->name;
     if ($categoryName != 'Forme juridique inconnue') {
         $description .= ', ' . $categoryName;
     }
     $container->view->render($response, 'company.tpl', array('info' => $results[0], 'types' => $types, 'category' => $categoryName, 'activity' => $activityName, 'url' => $results[0]->getURL(), 'title' => $results[0]->name, 'description' => $description));
 }
 /**
  * Test search
  * @param string     $query  Search query
  * @param Infogreffe $result Search result
  * @return void
  * @dataProvider searchProvider
  * */
 public function testSearch($query, $result)
 {
     $results = Infogreffe::search($query);
     $this->assertEquals($result, $results[0]);
 }