X-Git-Url: https://git.cweiske.de/shpub.git/blobdiff_plain/ef34a25776877dbabaf19e36b162698071dd6bd2..7066ca245ef989b71e2ec71030ca9637d7196ff8:/src/shpub/Cli.php diff --git a/src/shpub/Cli.php b/src/shpub/Cli.php index 44cf8c8..77b62cc 100644 --- a/src/shpub/Cli.php +++ b/src/shpub/Cli.php @@ -33,27 +33,15 @@ class Cli $cmd->run($res->command->options['verbose']); break; - case 'like': + default: + $class = 'shpub\\Command_' . ucfirst($res->command_name); $this->requireValidHost(); - $cmd = new Command_Like($this->cfg); - $cmd->run($res->command->args['url']); + $cmd = new $class($this->cfg); + $cmd->run($res->command); 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'); } } catch (\Exception $e) { - echo 'Error: ' . $e->getMessage() . "\n"; + Log::err('Error: ' . $e->getMessage()); exit(1); } } @@ -85,9 +73,6 @@ class Cli $this->cfg->host = $this->cfg->hosts[$key]; } } - if ($opts['user'] !== null) { - $this->cfg->host->user = $opts['user']; - } $this->cfg->setDebug($opts['debug']); return $res; @@ -105,7 +90,7 @@ class Cli { $optParser = new \Console_CommandLine(); $optParser->description = 'shpub'; - $optParser->version = '0.0.0'; + $optParser->version = '0.0.6'; $optParser->subcommand_required = true; $optParser->addOption( @@ -119,17 +104,6 @@ class Cli 'default' => null, ) ); - $optParser->addOption( - 'user', - array( - 'short_name' => '-u', - 'long_name' => '--user', - 'description' => 'User URL', - 'help_name' => 'URL', - 'action' => 'StoreString', - 'default' => null, - ) - ); $optParser->addOption( 'debug', array( @@ -186,32 +160,16 @@ class Cli ) ); - //$cmd = $optParser->addCommand('post'); - $cmd = $optParser->addCommand('reply'); - $cmd->addArgument( - 'url', - [ - 'optional' => false, - 'description' => 'URL that is replied to', - ] - ); - $cmd->addArgument( - 'text', - [ - 'optional' => false, - 'multiple' => true, - 'description' => 'Reply text', - ] - ); + Command_Article::opts($optParser); + Command_Note::opts($optParser); + Command_Reply::opts($optParser); + Command_Like::opts($optParser); + Command_Repost::opts($optParser); + Command_Rsvp::opts($optParser); - $cmd = $optParser->addCommand('like'); - $cmd->addArgument( - 'url', - [ - 'optional' => false, - 'description' => 'URL that is liked', - ] - ); + Command_Delete::opts($optParser); + Command_Undelete::opts($optParser); + Command_Update::opts($optParser); return $optParser; }