X-Git-Url: https://git.cweiske.de/shpub.git/blobdiff_plain/56b168127f4ea467c117e51b76a1fd426756d768..805caeece7df310f8edb090138058d4617f7c114:/src/shpub/Cli.php diff --git a/src/shpub/Cli.php b/src/shpub/Cli.php index 86efa53..83eb5b6 100644 --- a/src/shpub/Cli.php +++ b/src/shpub/Cli.php @@ -24,13 +24,17 @@ class Cli $res->command->args['server'], $res->command->args['user'], $res->command->args['key'], - $res->command->options['force'] + $res->command->options['force'], + $res->command->options['scope'] ); break; case 'server': $cmd = new Command_Server($this->cfg); - $cmd->run($res->command->options['verbose']); + $cmd->run( + $res->command->args['server'], + $res->command->options['verbose'] + ); break; default: @@ -41,7 +45,7 @@ class Cli break; } } catch (\Exception $e) { - echo 'Error: ' . $e->getMessage() . "\n"; + Log::err('Error: ' . $e->getMessage()); exit(1); } } @@ -49,7 +53,7 @@ class Cli /** * Let the CLI option parser parse the options. * - * @param object $parser Option parser + * @param object $optParser Option parser * * @return object Parsed command line parameters */ @@ -74,6 +78,7 @@ class Cli } } $this->cfg->setDebug($opts['debug']); + $this->cfg->setDryRun($opts['dryrun']); return $res; } catch (\Exception $exc) { @@ -89,8 +94,9 @@ class Cli protected function loadOptParser() { $optParser = new \Console_CommandLine(); - $optParser->description = 'shpub'; - $optParser->version = '0.0.3'; + $optParser->name = 'shpub'; + $optParser->description = 'Command line micropub client'; + $optParser->version = '0.7.0'; $optParser->subcommand_required = true; $optParser->addOption( @@ -114,55 +120,36 @@ class Cli 'default' => false, ) ); - - $cmd = $optParser->addCommand('connect'); - $cmd->addOption( - 'force', + $optParser->addOption( + 'dryrun', array( - 'short_name' => '-f', - 'long_name' => '--force-update', - 'description' => 'Force token update if token already available', + 'short_name' => '-n', + 'long_name' => '--dry-run', + 'description' => 'Do not send modifying HTTP request(s)' + . ' to the server', 'action' => 'StoreTrue', 'default' => false, ) ); - $cmd->addArgument( - 'server', - [ - 'optional' => false, - 'description' => 'Server URL', - ] - ); - $cmd->addArgument( - 'user', - [ - 'optional' => true, - 'description' => 'User URL', - ] - ); - $cmd->addArgument( - 'key', - [ - 'optional' => true, - 'description' => 'Short name (key)', - ] - ); - $cmd = $optParser->addCommand('server'); - $cmd->addOption( - 'verbose', - array( - 'short_name' => '-v', - 'long_name' => '--verbose', - 'description' => 'Show more server infos', - 'action' => 'StoreTrue', - 'default' => false, - ) - ); + Command_Connect::opts($optParser); + Command_Server::opts($optParser); + Command_Targets::opts($optParser); + Command_Article::opts($optParser); Command_Note::opts($optParser); Command_Reply::opts($optParser); Command_Like::opts($optParser); + Command_Repost::opts($optParser); + Command_Rsvp::opts($optParser); + Command_Bookmark::opts($optParser); + Command_X::opts($optParser); + + Command_Delete::opts($optParser); + Command_Undelete::opts($optParser); + Command_Update::opts($optParser); + + Command_Upload::opts($optParser); return $optParser; }