$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->host);
- $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->host);
- $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);
}
}
} 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.5';
$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 = $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);
- $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;
}