Example #1
0
 /**
  * @param InputInterface $input
  * @param OutputInterface $output
  * @return void
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $project = new Project(getcwd());
     if ($project->isValid()) {
         $book = $project->getBook($input->getArgument('name'), $input->getOption('locale'));
         if ($book instanceof Book) {
             $table = new Table($output);
             $table->setHeaders(['Property', 'Value']);
             $table->addRow(['Short Name', $book->getShortName()]);
             $table->addRow(['Title', $book->getTitle()]);
             $pages = $book->getPages();
             if ($pages->count() > 0) {
                 $page_titles = [];
                 foreach ($pages as $page) {
                     $page_titles[] = $page->getTitle();
                 }
                 $table->addRow(['Pages', implode("\n", $page_titles)]);
             } else {
                 $table->addRow(['Pages', '--']);
             }
             $table->render();
         } else {
             $output->writeln('<error>Book "' . $input->getArgument('name') . ' not found"</error>');
         }
     } else {
         $output->writeln('<error>This is not a valid Shade project</error>');
     }
 }