Beispiel #1
0
 /**
  * Get the aggregated information from packagist.
  *
  * Please pass an array of vendors or package names, or a single vendor or
  * package name to this method.
  *
  * @param string[]|string $vendors
  *
  * @return array
  */
 public function packages($vendors)
 {
     $packages = [];
     foreach ((array) $vendors as $vendor) {
         if (strpos($vendor, '/') !== false) {
             $packages[] = $this->packagist->get($vendor);
         } else {
             foreach ($this->packagist->all(compact('vendor')) as $result) {
                 $packages[] = $this->packagist->get($result);
             }
         }
     }
     return $packages;
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $client = new Client();
     $repository = $this->getContainer()->get('botrelli.package.doctrine.repository');
     $packages = $client->all();
     $packagesAdded = 0;
     $output->writeln("Number 5 is Analyzing Packagist packages... be patient or die, human.");
     $progress = new ProgressBar($output, count($packages));
     $progress->setRedrawFrequency(100);
     $progress->start();
     foreach ($packages as $package) {
         $localPackage = $repository->get($package);
         if (null === $localPackage) {
             $localPackage = Package::create($package);
             $repository->add($localPackage);
             $packagesAdded++;
         }
         $progress->advance();
     }
     $progress->finish();
     $output->writeln("Number 5 added {$packagesAdded} missing packages to the local Database.");
 }
 /**
  * {@inheritdoc}
  */
 public function getPackages(array $criteria)
 {
     return $this->client->all($criteria);
 }
Beispiel #4
0
 public function all(array $filters = array())
 {
     $key = $this->getPrefixKey(__METHOD__, $filters);
     if ($this->getCache()->contains($key)) {
         $results = $this->getCache()->fetch($key);
     } else {
         $results = parent::all($filters);
         $this->getCache()->save($key, $results, $this->TTLAll);
     }
     return $results;
 }