X-Git-Url: https://git.cweiske.de/shpub.git/blobdiff_plain/3c23b2cde4f8d6de57d5e1cc86828d6d200da65d..4a829af677ff7545a3578bb0e93786663c9203f3:/src/shpub/Cli.php diff --git a/src/shpub/Cli.php b/src/shpub/Cli.php index 32dcbe2..f807d32 100644 --- a/src/shpub/Cli.php +++ b/src/shpub/Cli.php @@ -27,11 +27,27 @@ class Cli $res->command->options['force'] ); break; + + case 'server': + $cmd = new Command_Server($this->cfg); + $cmd->run($res->command->options['verbose']); + break; + case 'like': $this->requireValidHost(); - $cmd = new Command_Like($this->cfg->host); + $cmd = new Command_Like($this->cfg); $cmd->run($res->command->args['url']); break; + + case 'reply': + $this->requireValidHost(); + $cmd = new Command_Reply($this->cfg); + $cmd->run( + $res->command->args['url'], + implode(' ', $res->command->args['text']) + ); + break; + default: var_dump($this->cfg->host, $res); Log::err('FIXME'); @@ -63,10 +79,16 @@ class Cli } else { $this->cfg->host = $this->cfg->hosts[$key]; } + } else { + $key = $this->cfg->getDefaultHost(); + if ($key !== null) { + $this->cfg->host = $this->cfg->hosts[$key]; + } } if ($opts['user'] !== null) { $this->cfg->host->user = $opts['user']; } + $this->cfg->setDebug($opts['debug']); return $res; } catch (\Exception $exc) { @@ -83,7 +105,7 @@ class Cli { $optParser = new \Console_CommandLine(); $optParser->description = 'shpub'; - $optParser->version = '0.0.0'; + $optParser->version = '0.0.2'; $optParser->subcommand_required = true; $optParser->addOption( @@ -108,6 +130,16 @@ class Cli 'default' => null, ) ); + $optParser->addOption( + 'debug', + array( + 'short_name' => '-d', + 'long_name' => '--debug', + 'description' => 'Verbose output', + 'action' => 'StoreTrue', + 'default' => false, + ) + ); $cmd = $optParser->addCommand('connect'); $cmd->addOption( @@ -130,7 +162,7 @@ class Cli $cmd->addArgument( 'user', [ - 'optional' => false, + 'optional' => true, 'description' => 'User URL', ] ); @@ -142,6 +174,18 @@ class Cli ] ); + $cmd = $optParser->addCommand('server'); + $cmd->addOption( + 'verbose', + array( + 'short_name' => '-v', + 'long_name' => '--verbose', + 'description' => 'Show more server infos', + 'action' => 'StoreTrue', + 'default' => false, + ) + ); + //$cmd = $optParser->addCommand('post'); $cmd = $optParser->addCommand('reply'); $cmd->addArgument( @@ -155,6 +199,7 @@ class Cli 'text', [ 'optional' => false, + 'multiple' => true, 'description' => 'Reply text', ] );