/**
  * @param SearchEvent $event
  */
 public function onSearchStart(SearchEvent $event)
 {
     $output = $event->getOutput();
     $query = $event->getInput()->getArgument('query');
     $output->writeln("Searching for <comment>{$query}</comment> books...");
     $event->setProgressBar($this->createProgressBar($output));
 }
 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}");
     }
 }