setName('torrents:search:movies') ->setDescription('Search movies') ->addArgument('query', InputArgument::REQUIRED, 'Query') ->addOption('offset', 'o', InputOption::VALUE_REQUIRED, 'Page number') ->addOption('limit', 'l', InputOption::VALUE_REQUIRED, 'Number of results per page') ->addOption('terms', 't', InputOption::VALUE_REQUIRED, 'Filter by terms IDs (separated by ",")') ->addOption('sort', null, InputOption::VALUE_REQUIRED, 'Sort') ->addOption('asc', null, InputOption::VALUE_NONE, 'Ascending sort') ->setHelp("%command.name% Search movies. Usage: torrents:search:movies QUERY [OPTIONS] --terms does not work (API bug)"); } protected function execute(InputInterface $input, OutputInterface $output) { $inputData = array( 'command' => 'torrents:search', 'query' => $input->getArgument('query'), '--sub-category' => 631, ); foreach (['offset', 'limit', 'terms', 'sort', 'asc'] as $p) { $value = $input->getOption($p); if (null !== $value) { $inputData['--'.$p] = $value; } } return $this->getApplication()->doRun(new ArrayInput($inputData), $output); } }