/** * @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>'); } }