Пример #1
0
 public function trigger()
 {
     $target_option = $this->getTarget();
     $target_plugin = $this->plugins->getPluginByNamespace($target_option);
     $child_arguments = new Arguments(array('input' => array_slice($_SERVER['argv'], 2)));
     $child_arguments->addFlag(array('version', 'v'), '查看版本信息')->addFlag(array('help', 'h'), '查看帮助信息')->addFlags($target_plugin->getFlags())->addOptions($target_plugin->getOptions());
     $child_arguments->parse();
     if ($child_arguments['help']) {
         die($child_arguments->getHelpScreen() . PHP_EOL . PHP_EOL);
     } elseif ($child_arguments['version']) {
         die($target_plugin->getNamespace() . ':' . $target_plugin->getVersion() . PHP_EOL . PHP_EOL);
     } else {
         $children_option = array_keys(array_merge($target_plugin->getOptions(), $target_plugin->getFlags()));
         $child_option = null;
         $child_argument_arr = array();
         foreach ($children_option as $option) {
             if (isset($child_arguments[$option])) {
                 $child_argument_arr[$option] = $child_arguments[$option];
             }
         }
         if (empty($child_argument_arr)) {
             die($child_arguments->getHelpScreen() . PHP_EOL . PHP_EOL);
         } else {
             $target_plugin->exec($child_argument_arr);
         }
     }
 }
Пример #2
0
$arguments->addOption(['from', 'f'], ['default' => 'en', 'description' => 'Source language (default: en)']);
$arguments->addOption(['to', 't'], ['default' => 'cs', 'description' => 'Target language (default: cs)']);
$arguments->addFlag(['verbose', 'v'], 'Turn on verbose output');
$arguments->addFlag(['help', 'h'], 'Show help');
$arguments->parse();
$apikey = $arguments['apikey'];
$input = $arguments['input'];
$output = $arguments['output'] ? $arguments['output'] : __DIR__ . '/../tmp/' . basename($input);
$from = $arguments['from'] ? $arguments['from'] : 'en';
$to = $arguments['to'] ? $arguments['to'] : 'cs';
$verbose = (bool) $arguments['verbose'];
if ($arguments['help'] || !$apikey || !$input) {
    echo str_repeat('-', 80) . PHP_EOL;
    echo 'PO translator parametters ' . PHP_EOL;
    echo str_repeat('-', 80) . PHP_EOL;
    echo $arguments->getHelpScreen();
    echo PHP_EOL . PHP_EOL;
    echo 'Example' . PHP_EOL;
    echo '  potrans -k 123456789 -i members-cs_CZ.po -v';
    exit(PHP_EOL . PHP_EOL);
}
if (!file_exists($input)) {
    die(Colors::colorize('%rFile "' . print_r($input) . '" not exists %n' . PHP_EOL));
}
if (!is_dir(dirname($output))) {
    mkdir(dirname($output), 0755, true);
    // Failed to create dir
    if (!is_dir(dirname($output))) {
        die(Colors::colorize('%rDirectory "' . dirname($output) . '" not exists %n' . PHP_EOL));
    }
}