public function onSearchStart(SearchEvent $event) { $input = $event->getInput(); $query = $input->getArgument('query'); $this->parser->freeOnly = $input->getOption('free'); $this->parser->maxPages = $input->getOption('pages'); $books = $this->parser->searchBooks($event->getProgressBar(), $query); $event->setBooks($books); }
/** * @param SearchEvent $event */ public function onSearchFinish(SearchEvent $event) { $input = $event->getInput(); $output = $event->getOutput(); $file = $input->getOption('file'); if ($file) { $this->saveToFile($file, $event->getBooks()); $output->writeln("Results saved to {$file}"); } }
/** * @param SearchEvent $event */ public function onSearchFinish(SearchEvent $event) { $output = $event->getOutput(); $books = $event->getBooks(); $output->writeLn(''); if (empty($books)) { $output->writeLn('No books found.'); return; } $table = new Table($output); $table->setHeaders(['Title', 'Link']); $table->setRows($books); $table->render(); }