$res->command->options['force']
);
break;
- case 'like':
- $this->requireValidHost();
- $cmd = new Command_Like($this->cfg->host);
- $cmd->run($res->command->args['url']);
+
+ case 'server':
+ $cmd = new Command_Server($this->cfg);
+ $cmd->run($res->command->options['verbose']);
break;
+
default:
- var_dump($this->cfg->host, $res);
- Log::err('FIXME');
+ $class = 'shpub\\Command_' . ucfirst($res->command_name);
+ $this->requireValidHost();
+ $cmd = new $class($this->cfg);
+ $cmd->run($res->command);
+ break;
}
} catch (\Exception $e) {
- echo 'Error: ' . $e->getMessage() . "\n";
+ Log::err('Error: ' . $e->getMessage());
exit(1);
}
}
} 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) {
{
$optParser = new \Console_CommandLine();
$optParser->description = 'shpub';
- $optParser->version = '0.0.0';
+ $optParser->version = '0.0.6';
$optParser->subcommand_required = true;
$optParser->addOption(
)
);
$optParser->addOption(
- 'user',
+ 'debug',
array(
- 'short_name' => '-u',
- 'long_name' => '--user',
- 'description' => 'User URL',
- 'help_name' => 'URL',
- 'action' => 'StoreString',
- 'default' => null,
+ 'short_name' => '-d',
+ 'long_name' => '--debug',
+ 'description' => 'Verbose output',
+ 'action' => 'StoreTrue',
+ 'default' => false,
)
);
$cmd->addArgument(
'user',
[
- 'optional' => false,
+ 'optional' => true,
'description' => 'User URL',
]
);
]
);
- //$cmd = $optParser->addCommand('post');
- $cmd = $optParser->addCommand('reply');
- $cmd->addArgument(
- 'url',
- [
- 'optional' => false,
- 'description' => 'URL that is replied to',
- ]
- );
- $cmd->addArgument(
- 'text',
- [
- 'optional' => false,
- 'description' => 'Reply text',
- ]
+ $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('like');
- $cmd->addArgument(
- 'url',
- [
- 'optional' => false,
- 'description' => 'URL that is liked',
- ]
- );
+ 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_Delete::opts($optParser);
+ Command_Undelete::opts($optParser);
+ Command_Update::opts($optParser);
return $optParser;
}