本文整理汇总了PHP中Console_CommandLine::addOption方法的典型用法代码示例。如果您正苦于以下问题:PHP Console_CommandLine::addOption方法的具体用法?PHP Console_CommandLine::addOption怎么用?PHP Console_CommandLine::addOption使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Console_CommandLine
的用法示例。
在下文中一共展示了Console_CommandLine::addOption方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUpCommonParser
/**
* Set up parser and common parser options
*/
private function setUpCommonParser() {
// Create the parser
$this->parser = new Console_CommandLine(array(
'description' => static::DESCRIPTION,
'version' => static::VERSION
));
// Add an option to make the program verbose
$this->parser->addOption('verbose', array(
'short_name' => '-v',
'long_name' => '--verbose',
'action' => 'StoreTrue',
'description' => 'turn on verbose output'
));
}
示例2: _readCommandLineRequest
protected function _readCommandLineRequest()
{
$parser = new Console_CommandLine();
$parser->description = "Lion Framework " . LION_VERSION_NUMBER . ' (built: ' . LION_VERSION_BUILD_DATE . ")\n" . "An open source PHP Framework for rapid development of PHP web applications";
$parser->version = LION_VERSION_NUMBER;
$parser->addOption('clearcache', array('short_name' => '-c', 'long_name' => '--clearcache', 'description' => 'clear the cache', 'action' => 'StoreTrue'));
// Adding an option that will store a string
$parser->addOption('info', array('short_name' => '-i', 'long_name' => '--info', 'description' => 'show the runtime directives', 'action' => 'StoreTrue'));
// Adding an option that will store a string
$parser->addOption('bootstrap', array('short_name' => '-b', 'long_name' => '--bootstrap', 'description' => 'bootstrap a new application', 'action' => 'StoreTrue'));
// Adding an option that will store a string
$parser->addOption('controller', array('long_name' => '--controller', 'description' => 'executes the given controller', 'action' => 'StoreString'));
// Adding an option that will store a string
$parser->addOption('action', array('long_name' => '--action', 'description' => 'executes the given action', 'action' => 'StoreString'));
return $parser;
}
示例3: loadParams
/**
* Loads and parses command line parameters.
* Also takes care of the --help switch.
*
* @return void
*
* @throws Exception When the rST file does not exist
*/
protected function loadParams()
{
$parser = new \Console_CommandLine();
$parser->description = 'Deploy reStructuredText documents into a wiki';
$parser->version = '@version@';
$parser->addArgument('file', array('description' => 'rST file path'));
$parser->addOption('driver', array('long_name' => '--driver', 'optional' => true, 'action' => 'StoreString', 'description' => 'Wiki driver to use'));
//No -D options: https://pear.php.net/bugs/bug.php?id=19163
//yep, that does not automatically work with new drivers
Driver_Confluence::loadHelp($parser);
try {
$result = $parser->parse();
foreach (array_keys($result->options) as $key) {
if ($result->options[$key] === null) {
unset($result->options[$key]);
}
}
$this->options = array_merge($this->options, $result->options);
} catch (\Console_CommandLine_Exception $e) {
$parser->displayError($e->getMessage());
}
$this->file = $result->args['file'];
if (!file_exists($this->file)) {
throw new Exception('File does not exist', 2);
}
}
示例4: createParser
/**
* Creates the command line parser and populates it with all allowed
* options and parameters.
*
* @return Console_CommandLine CommandLine object
*/
protected function createParser()
{
$parser = new Console_CommandLine();
$parser->description = 'CLI interface to GeSHi, the generic syntax highlighter';
$parser->version = '0.1.0';
/*
$parser->addOption('outfile', array(
'short_name' => '-o',
'long_name' => '--outfile',
'description' => 'File to save output to',
'help_name' => 'FILE',
'action' => 'StoreString'
));
*/
$parser->addOption('format', array('short_name' => '-f', 'long_name' => '--format', 'description' => 'Format of file to highlight (e.g. php).', 'help_name' => 'FORMAT', 'action' => 'StoreString', 'default' => false));
$parser->addOption('renderer', array('short_name' => '-r', 'long_name' => '--renderer', 'description' => 'Renderer to use', 'help_name' => 'RENDERER', 'action' => 'StoreString', 'default' => 'html', 'choices' => array_keys(self::$arRenderers), 'list' => array_keys(self::$arRenderers), 'add_list_option' => true));
$parser->addArgument('infile', array('help_name' => 'source file'));
return $parser;
}
示例5: loadHelp
/**
* Loads confluence-specific options into the command line parser
*
* @param object $parser Command line parser object
*
* @return void
*/
public static function loadHelp(\Console_CommandLine $parser)
{
$parser->addOption('user', array('long_name' => '--user', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence user name'));
$parser->addOption('password', array('long_name' => '--password', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence user password'));
$parser->addOption('no_deploy', array('long_name' => '--no-deploy', 'optional' => true, 'action' => 'StoreTrue', 'description' => 'Do not deploy, echo output only'));
$parser->addOption('filter', array('long_name' => '--filter', 'optional' => true, 'action' => 'StoreString', 'description' => 'rST filter name (e.g. "aida")'));
$parser->addOption('confluence_host', array('long_name' => '--confluence-host', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence host name (with http://)', 'help_name' => 'host'));
$parser->addOption('confluence_space', array('long_name' => '--confluence-space', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence space name', 'help_name' => 'space'));
$parser->addOption('confluence_page', array('long_name' => '--confluence-page', 'optional' => true, 'action' => 'StoreString', 'description' => 'Confluence page name', 'help_name' => 'page'));
}
示例6: __construct
/**
* econtrol constructor
*
*/
public function __construct()
{
// check if econtrol is running from cli
if (Checks::cli() === false) {
echo "Econtrol runs only in php-cli, exiting";
self::end(1);
}
if (defined('EXTENDER_TIMEZONE')) {
date_default_timezone_set(EXTENDER_TIMEZONE);
}
$this->color = new Console_Color2();
$this->parser = new Console_CommandLine(array('description' => Version::getDescription(), 'version' => Version::getVersion()));
// add verbose option
$this->parser->addOption('verbose', array('short_name' => '-v', 'long_name' => '--verbose', 'description' => 'turn on verbose output', 'action' => 'StoreTrue'));
// add debug option
$this->parser->addOption('debug', array('short_name' => '-V', 'long_name' => '--debug', 'description' => 'turn on debug output', 'action' => 'StoreTrue'));
try {
$check_constants = Checks::constants();
if ($check_constants !== true) {
throw new ShellException($check_constants);
}
if (array_key_exists('V', getopt("V"))) {
$verbose = 'DEBUG';
echo $this->color->convert("\n%r(> Debug mode on <)%n\n");
} else {
if (array_key_exists('v', getopt("v"))) {
$verbose = 'NOTICE';
echo $this->color->convert("\n%y(> Verbose mode on <)%n\n");
} else {
$verbose = false;
}
}
$this->logger = EcontrolLogger::create($verbose);
$this->tasks = TasksTable::load($this->logger);
$this->controller = Controller::load($this->parser, $this->logger);
} catch (Console_CommandLine_Exception $ce) {
$this->parser->displayError($this->color->convert("\n\n%y" . $ce->getMessage() . "%n\n"));
self::end(1);
} catch (ShellException $se) {
$this->parser->displayError($this->color->convert("\n\n%R" . $se->getMessage() . "%n\n"));
self::end(1);
} catch (Exception $e) {
$this->parser->displayError($this->color->convert("\n\n%r" . $e->getMessage() . "%n\n"));
self::end(1);
}
}
示例7: getParser
/**
* Returns a parser of the command line arguments.
*/
function getParser()
{
require_once 'Console/CommandLine.php';
$parser = new \Console_CommandLine(array('name' => 'hnu', 'description' => 'Photon command line manager.', 'version' => VERSION));
$options = array('verbose' => array('short_name' => '-v', 'long_name' => '--verbose', 'action' => 'StoreTrue', 'description' => 'turn on verbose output'), 'conf' => array('long_name' => '--conf', 'action' => 'StoreString', 'help_name' => 'path/conf.php', 'description' => 'where the configuration is to be found. By default, the configuration file is the config.php in the current working directory'));
foreach ($options as $name => $option) {
$parser->addOption($name, $option);
}
$cmds = array('init' => array('desc' => 'generate the skeleton of a new Photon project in the current folder'), 'pot' => array('desc' => 'generate a standard gettext template file for the project (.pot)', 'opts' => array('potfile' => array('long_name' => '--pot-file', 'action' => 'StoreString', 'help_name' => 'myproject.pot', 'description' => 'Output filename for the gettext template'))), 'show-config' => array('desc' => 'Dump the config file on the standard output, usefull to show phar packaged configuration'), 'serve' => array('desc' => 'start a Photon handler server', 'opts' => array('server_id' => array('long_name' => '--server-id', 'action' => 'StoreString', 'help_name' => 'id', 'description' => 'set the Photon handler id'), 'daemonize' => array('long_name' => '--daemonize', 'action' => 'StoreTrue', 'description' => 'run as daemon'))), 'worker' => array('desc' => 'start a Photon worker', 'args' => array('task' => array('description' => 'the name of the worker task')), 'opts' => array('server_id' => array('long_name' => '--server-id', 'action' => 'StoreString', 'help_name' => 'id', 'description' => 'set the Photon task id'), 'daemonize' => array('long_name' => '--daemonize', 'action' => 'StoreTrue', 'description' => 'run as daemon'))), 'test' => array('desc' => 'run the tests of your project. Uses config.test.php as default config file', 'opts' => array('directory' => array('long_name' => '--coverage-html', 'action' => 'StoreString', 'help_name' => 'path/folder', 'description' => 'directory to store the code coverage report'), 'bootstrap' => array('long_name' => '--bootstrap', 'action' => 'StoreString', 'help_name' => 'path/bootstrap.php', 'description' => 'bootstrap PHP file given to PHPUnit. By default the photon/testbootstrap.php file'))), 'selftest' => array('desc' => 'run the Photon self test procedure', 'opts' => array('directory' => array('long_name' => '--coverage-html', 'action' => 'StoreString', 'help_name' => 'path/folder', 'description' => 'directory to store the code coverage report'))), 'package' => array('desc' => 'package a project as a standalone .phar file', 'args' => array('project' => array('description' => 'the name of the project')), 'opts' => array('conf_file' => array('long_name' => '--include-conf', 'action' => 'StoreString', 'help_name' => 'path/config.prod.php', 'description' => 'path to the configuration file used in production'), 'composer' => array('long_name' => '--composer', 'action' => 'StoreTrue', 'description' => 'Build a phar for the composer version of photon'), 'exclude_files' => array('long_name' => '--exclude-files', 'action' => 'StoreString', 'help_name' => '\\..*', 'description' => 'comma separated list of patterns matching files to exclude'))), 'makekey' => array('desc' => 'prints out a unique random secret key for your configuration', 'opts' => array('length' => array('long_name' => '--length', 'action' => 'StoreInt', 'description' => 'length of the generate secret key (64)'))));
$def_cmd = array('opts' => array(), 'args' => array());
foreach ($cmds as $name => $cmd) {
$pcmd = $parser->addCommand($name, array('description' => $cmd['desc']));
$cmd = array_merge($def_cmd, $cmd);
foreach ($cmd['opts'] as $oname => $oinfo) {
$pcmd->addOption($oname, $oinfo);
}
foreach ($cmd['args'] as $aname => $ainfo) {
$pcmd->addArgument($aname, $ainfo);
}
}
return $parser;
}
示例8: run
/**
* Entry-point for Erebot.
*
* \return
* This method never returns.
* Instead, the program exits with an appropriate
* return code when Erebot is stopped.
*/
public static function run()
{
// Apply patches.
\Erebot\Patches::patch();
// Load the configuration for the Dependency Injection Container.
$dic = new \Symfony\Component\DependencyInjection\ContainerBuilder();
$dic->setParameter('Erebot.src_dir', __DIR__);
$loader = new \Symfony\Component\DependencyInjection\Loader\XmlFileLoader($dic, new \Symfony\Component\Config\FileLocator(getcwd()));
$dicConfig = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'defaults.xml';
$dicCwdConfig = getcwd() . DIRECTORY_SEPARATOR . 'defaults.xml';
if (!strncasecmp(__FILE__, 'phar://', 7)) {
if (!file_exists($dicCwdConfig)) {
copy($dicConfig, $dicCwdConfig);
}
$dicConfig = $dicCwdConfig;
} elseif (file_exists($dicCwdConfig)) {
$dicConfig = $dicCwdConfig;
}
$loader->load($dicConfig);
// Determine availability of PHP extensions
// needed by some of the command-line options.
$hasPosix = in_array('posix', get_loaded_extensions());
$hasPcntl = in_array('pcntl', get_loaded_extensions());
$logger = $dic->get('logging');
$localeGetter = $dic->getParameter('i18n.default_getter');
$coreTranslatorCls = $dic->getParameter('core.classes.i18n');
$translator = new $coreTranslatorCls("Erebot\\Core");
$categories = array('LC_MESSAGES', 'LC_MONETARY', 'LC_TIME', 'LC_NUMERIC');
foreach ($categories as $category) {
$locales = call_user_func($localeGetter);
$locales = empty($locales) ? array() : array($locales);
$localeSources = array('LANGUAGE' => true, 'LC_ALL' => false, $category => false, 'LANG' => false);
foreach ($localeSources as $source => $multiple) {
if (!isset($_SERVER[$source])) {
continue;
}
if ($multiple) {
$locales = explode(':', $_SERVER[$source]);
} else {
$locales = array($_SERVER[$source]);
}
break;
}
$translator->setLocale($translator->nameToCategory($category), $locales);
}
// Also, include some information about the version
// of currently loaded PHAR modules, if any.
$version = 'dev-master';
if (!strncmp(__FILE__, 'phar://', 7)) {
$phar = new \Phar(\Phar::running(true));
$md = $phar->getMetadata();
$version = $md['version'];
}
if (defined('Erebot_PHARS')) {
$phars = unserialize(Erebot_PHARS);
ksort($phars);
foreach ($phars as $module => $metadata) {
if (strncasecmp($module, 'Erebot_Module_', 14)) {
continue;
}
$version .= "\n with {$module} version {$metadata['version']}";
}
}
\Console_CommandLine::registerAction('StoreProxy', '\\Erebot\\Console\\StoreProxyAction');
$parser = new \Console_CommandLine(array('name' => 'Erebot', 'description' => $translator->gettext('A modular IRC bot written in PHP'), 'version' => $version, 'add_help_option' => true, 'add_version_option' => true, 'force_posix' => false));
$parser->accept(new \Erebot\Console\MessageProvider());
$parser->renderer->options_on_different_lines = true;
$defaultConfigFile = getcwd() . DIRECTORY_SEPARATOR . 'Erebot.xml';
$parser->addOption('config', array('short_name' => '-c', 'long_name' => '--config', 'description' => $translator->gettext('Path to the configuration file to use instead ' . 'of "Erebot.xml", relative to the current ' . 'directory.'), 'help_name' => 'FILE', 'action' => 'StoreString', 'default' => $defaultConfigFile));
$parser->addOption('daemon', array('short_name' => '-d', 'long_name' => '--daemon', 'description' => $translator->gettext('Run the bot in the background (daemon).' . ' [requires the POSIX and pcntl extensions]'), 'action' => 'StoreTrue'));
$noDaemon = new \Erebot\Console\ParallelOption('no_daemon', array('short_name' => '-n', 'long_name' => '--no-daemon', 'description' => $translator->gettext('Do not run the bot in the background. ' . 'This is the default, unless the -d option ' . 'is used or the bot is configured otherwise.'), 'action' => 'StoreProxy', 'action_params' => array('option' => 'daemon')));
$parser->addOption($noDaemon);
$parser->addOption('pidfile', array('short_name' => '-p', 'long_name' => '--pidfile', 'description' => $translator->gettext("Store the bot's PID in this file."), 'help_name' => 'FILE', 'action' => 'StoreString', 'default' => null));
$parser->addOption('group', array('short_name' => '-g', 'long_name' => '--group', 'description' => $translator->gettext('Set group identity to this GID/group during ' . 'startup. The default is to NOT change group ' . 'identity, unless configured otherwise.' . ' [requires the POSIX extension]'), 'help_name' => 'GROUP/GID', 'action' => 'StoreString', 'default' => null));
$parser->addOption('user', array('short_name' => '-u', 'long_name' => '--user', 'description' => $translator->gettext('Set user identity to this UID/username during ' . 'startup. The default is to NOT change user ' . 'identity, unless configured otherwise.' . ' [requires the POSIX extension]'), 'help_name' => 'USER/UID', 'action' => 'StoreString', 'default' => null));
try {
$parsed = $parser->parse();
} catch (\Exception $exc) {
$parser->displayError($exc->getMessage());
exit(1);
}
// Parse the configuration file.
$config = new \Erebot\Config\Main($parsed->options['config'], \Erebot\Config\Main::LOAD_FROM_FILE, $translator);
$coreCls = $dic->getParameter('core.classes.core');
$bot = new $coreCls($config, $translator);
$dic->set('bot', $bot);
// Use values from the XML configuration file
// if there is no override from the command line.
$overrides = array('daemon' => 'mustDaemonize', 'group' => 'getGroupIdentity', 'user' => 'getUserIdentity', 'pidfile' => 'getPidfile');
foreach ($overrides as $option => $func) {
if ($parsed->options[$option] === null) {
$parsed->options[$option] = $config->{$func}();
//.........这里部分代码省略.........
示例9: sprintf
if ($color) {
if ($medianDiff > 0) {
$medianDiffStr = $color->convert("%r" . $color->escape($medianDiffStr) . "%n");
} else {
$medianDiffStr = $color->convert("%g" . $color->escape($medianDiffStr) . "%n");
}
}
echo $newTime['name'] . ' : ' . $medianDiffStr . PHP_EOL;
echo sprintf(' median : %01.2fms -> %01.2fms', $oldMedian, $newMedian) . PHP_EOL;
echo sprintf(' average : %01.2fms -> %01.2fms', $oldAverage, $newAverage) . PHP_EOL;
echo sprintf(' max : %01.2fms -> %01.2fms', $oldMax, $newMax) . PHP_EOL;
echo PHP_EOL;
}
// Set up the command line parser.
$parser = new Console_CommandLine(array('name' => 'run_benchmarks', 'description' => 'The PieCrust benchmarks suite', 'version' => PieCrust\PieCrustDefaults::VERSION));
$parser->addOption('hostname', array('long_name' => '--hostname', 'description' => "The hostname to use to store the benchmark results.", 'default' => php_uname("n"), 'help_name' => 'HOSTNAME'));
// Parse user arguments.
try {
$result = $parser->parse();
} catch (Exception $ex) {
$parser->displayError($ex->getMessage());
return 1;
}
// Run!
$b = new ApplicationBenchmark();
$newTimes = $b->runAllBenchmarks();
// Get the results and save them.
$hostname = $result->options['hostname'];
if (is_file('benchmarks.yml')) {
$oldTimes = Yaml::parse('benchmarks.yml');
if (isset($oldTimes[$hostname])) {
示例10: array
<?php
/**
* @since 2015-10-15
* @author Alban
* @license GPL v2
*/
// Load bootstrap for autoload and logger
set_include_path(".:" . get_include_path());
require_once "bootstrap.php";
// Instanciate export service
$service = new Alternc_Tools_Mailbox_Export(array("db" => $db));
// Instanciate command line parser
$consoleParser = new Console_CommandLine(array("description" => "Exports Alternc mailboxes to a file for export."));
// Configure command line parser
$consoleParser->add_version_option = false;
$consoleParser->addOption("output_file", array("help_name" => "/tmp/out.json", "short_name" => "-o", "long_name" => "--output-file", "description" => "Export file name and path", 'default' => $service->default_output));
$consoleParser->addOption("single_domain", array("help_name" => "domain.com", "short_name" => "-d", "long_name" => "--single-domain", "description" => "A single domain to export"));
$consoleParser->addOption("single_account", array("help_name" => "foobar", "short_name" => "-a", "long_name" => "--single-account", "description" => "A single account name (i.e. AlternC login) to export\n"));
$consoleParser->addOption("exclude_mails", array("help_name" => "/tmp/mailboxes.txt", "long_name" => "--exclude-mails", "description" => "Path of a file containing mailboxes to exclude, separated by breaklines"));
$consoleParser->addOption("include_mails", array("help_name" => "/tmp/mailboxes.txt", "long_name" => "--include-mails", "description" => "Path of a file containing mailboxes to include, separated by breaklines"));
$consoleParser->addOption("exclude_domain", array("help_name" => "/tmp/domain.txt", "long_name" => "--exclude-domains", "description" => "Path of a file containing domains to include, separated by breaklines"));
$consoleParser->addOption("include_domains", array("help_name" => "/tmp/domain.txt", "long_name" => "--include-domains", "description" => "Path of a file containing domains to exclude, separated by breaklines"));
// Run the command line parser
try {
$commandLineResult = $consoleParser->parse();
// Run the service
if (!($result = $service->run($commandLineResult))) {
throw new \Exception("Export process failed");
}
$msg = $result["message"];
$logger->logMessage(Logger\AbstractLogger::INFO, $msg);
示例11: array
<?php
require_once 'Console/CommandLine.php';
$parser = new Console_CommandLine();
$parser->description = 'ImageMagick Helper';
$parser->version = '0.1';
$parser->addOption('files', array('short_name' => '-f', 'long_name' => '--files', 'description' => 'target file pattern', 'help_name' => 'PATTERN', 'action' => 'StoreString'));
try {
$result = $parser->parse();
// do something with the result object
if (isset($result->options['files'])) {
$pattern = $result->options['files'];
$files = glob($pattern);
$convert = "C:/Program Files/ImageMagick-6.5.6-Q16-windows/ImageMagick-6.5.6-6/convert.exe";
$postfix = '_faded';
if (count($files)) {
foreach ($files as $file) {
$ext = substr($file, -4);
$dirname = dirname($file);
$basename = basename($file, $ext);
$cmd = "\"{$convert}\" {$file} -fill white -colorize 80% {$dirname}/{$basename}{$postfix}{$ext}";
echo $cmd . PHP_EOL;
system($cmd);
}
}
}
} catch (Exception $exc) {
$parser->displayError($exc->getMessage());
}
示例12: check
function check($args)
{
global $argv;
// Command line parser
$parser = new Console_CommandLine(array('name' => $argv[0] . ' ' . $argv[1], 'description' => 'Check disk usage', 'version' => '0.0.1'));
$parser->addOption('rrd_file', array('short_name' => '-f', 'description' => 'RRD file', 'action' => 'StoreString'));
// $parser->addOption('datasource', array(
// 'short_name' => '-d',
// // 'long_name' => '--datasource',
// 'description' => 'Disk available RRD datasource',
// 'action' => 'StoreString'
// ));
// $parser->addOption('datasource', array(
// 'short_name' => '-u',
// // 'long_name' => '--datasource',
// 'description' => 'Disk used RRD datasource',
// 'action' => 'StoreString'
// ));
$parser->addOption('warning', array('short_name' => '-w', 'description' => 'Warning value (%, integer value, default: 20)', 'action' => 'StoreFloat', 'default' => 20));
$parser->addOption('critical', array('short_name' => '-c', 'description' => 'Critical value (%, integer value, default: 10)', 'action' => 'StoreFloat', 'default' => 10));
try {
$result = $parser->parse(count($args), $args);
$rrd_file = $result->options['rrd_file'];
if (empty($rrd_file)) {
echo 'No rrd_file specified' . "\n";
return NAGIOS_UNKNOWN;
}
if (!file_exists($rrd_file)) {
echo 'File ' . $rrd_file . ' doesn\'t seem to exist' . "\n";
return NAGIOS_UNKNOWN;
}
$v = new RRDValue($rrd_file);
// $datasource = $result->options['datasource'];
// if (empty($datasource)) {
// echo 'No datasource specified'."\n";
// echo 'Available datasources: '.implode(', ', $v->getDatasources())."\n";
// return NAGIOS_UNKNOWN;
// }
$disk_available_datasource = 'DISKFREE_available';
$disk_used_datasource = 'DISKFREE_used';
$disk_available_value = $v->get($disk_available_datasource);
$disk_used_value = $v->get($disk_used_datasource);
if (is_nan($disk_available_value)) {
echo 'Can\'t read disk available RRD value' . "\n";
return NAGIOS_UNKNOWN;
}
if (is_nan($disk_used_value)) {
echo 'Can\'t read disk free RRD value' . "\n";
return NAGIOS_UNKNOWN;
}
$percentage_available = $disk_available_value / ($disk_available_value + $disk_used_value);
$percentage_available = round($percentage_available * 100);
$disk_available_value_mb = round($disk_available_value / 1024 / 1024 / 1024, 1);
if ($percentage_available < $result->options['critical']) {
echo "DISK CRITICAL - free space: {$disk_available_value_mb} GB ({$percentage_available}%)";
return NAGIOS_CRITICAL;
} else {
if ($percentage_available < $result->options['warning']) {
echo "DISK WARNING - free space: {$disk_available_value_mb} GB ({$percentage_available}%)";
return NAGIOS_WARNING;
} else {
echo "DISK OK - free space: {$disk_available_value_mb} GB ({$percentage_available}%)";
return NAGIOS_OK;
}
}
} catch (Exception $exc) {
$parser->displayError($exc->getMessage());
return NAGIOS_UNKNOWN;
}
}
示例13: array
*
* @category Console
* @package Console_CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version CVS: $Id$
* @link http://pear.php.net/package/Console_CommandLine
* @since File available since release 0.1.0
*/
// Include the Console_CommandLine package.
require_once 'Console/CommandLine.php';
// create the parser
$parser = new Console_CommandLine(array('description' => 'zip given files using the php zip module.', 'version' => '1.0.0'));
// add an option to make the program verbose
$parser->addOption('verbose', array('short_name' => '-v', 'long_name' => '--verbose', 'action' => 'StoreTrue', 'description' => 'turn on verbose output'));
// add an option to delete original files after zipping
$parser->addOption('delete', array('short_name' => '-d', 'long_name' => '--delete', 'action' => 'StoreString', 'description' => 'delete original files after zip operation', 'choices' => array('foo', 'bar'), 'add_list_option' => true));
// add the files argument, the user can specify one or several files
$parser->addArgument('files', array('multiple' => true, 'description' => 'list of files to zip separated by spaces'));
// add the zip file name argument
$parser->addArgument('zipfile', array('description' => 'zip file name'));
// run the parser
try {
$result = $parser->parse();
// write your program here...
print_r($result->options);
print_r($result->args);
} catch (Exception $exc) {
$parser->displayError($exc->getMessage());
}
示例14: define
* @author Edward Rudd <urkle at outoforder.cc>
*/
if (!defined('__DIR__')) {
define('__DIR__', dirname(__FILE__));
}
// Pull in the configuration file.. (Yes this actually works)
$config = (include __DIR__ . "/config.php");
// Set debugging if enabled
define('DEBUG', !empty($config->debug));
// Load up the class auto loader
require_once __DIR__ . "/../classes/Init.php";
include "common.php";
$parser = new Console_CommandLine();
$parser->description = "Convers the raw spell icons into strips for the trainer";
$parser->version = "0.0.1";
$parser->addOption('newsize', array('long_name' => '--size', 'description' => 'Size of new icons', 'default' => 64, 'help_name' => 'SIZE', 'action' => 'StoreInt'));
$parser->addOption('prefix', array('long_name' => '--prefix', 'description' => 'The output filename prefix', 'default' => 'trainer-icon-', 'help_name' => 'PREFIX'));
$parser->addArgument('mapfile', array('description' => 'The input JSON map file process', 'help_name' => 'INPUTFILE'));
$parser->addArgument('outputdir', array('description' => 'The output dir for images', 'help_name' => 'OUTPUTDIR'));
try {
$args = $parser->parse();
} catch (Exception $ex) {
$parser->displayError($ex->getMessage());
}
$map = json_decode(file_get_contents($args->args['mapfile']));
$size = $args->options['newsize'];
$imagedir = dirname($args->args['mapfile']);
$imageunused = $imagedir . DIRECTORY_SEPARATOR . 'unused';
if (!is_dir($imageunused)) {
mkdir($imageunused);
}
示例15: array
<?php
// Load vendor lib paths from Composer
require_once 'vendor/autoload.php';
// Actual required libs
require_once 'Console/CommandLine.php';
$cmdline_parser = new Console_CommandLine();
$cmdline_parser->addArgument('inputFile', array('description' => 'Clover XML file'));
$cmdline_parser->addArgument('minPercentage', array('description' => 'Minimum percentage required to pass'));
$cmdline_parser->addOption('print_uncovered', array('short_name' => '-u', 'long_name' => '--uncovered', 'description' => 'Output uncovered lines', 'action' => 'StoreTrue'));
$cmdline_parser->addOption('print_uncovered_verbose', array('short_name' => '-v', 'long_name' => '--uncovered-verbose', 'description' => 'Output uncovered lines - more verbosely', 'action' => 'StoreTrue'));
$cmdline_parser->addOption('print_uncovered_verbose_whitespace', array('short_name' => '-w', 'long_name' => '--uncovered-verbose-whitespace', 'description' => 'Output uncovered lines - even if they contain only whitespace', 'action' => 'StoreTrue'));
$cmdline_result = $cmdline_parser->parse();
$inputFile = $cmdline_result->args['inputFile'];
$percentage = min(100, max(0, (int) $cmdline_result->args['minPercentage']));
if (!file_exists($inputFile)) {
throw new InvalidArgumentException('Invalid input file provided');
}
if (!$percentage) {
throw new InvalidArgumentException('An integer checked percentage must be given as second parameter');
}
$xml = new SimpleXMLElement(file_get_contents($inputFile));
$metrics = $xml->xpath('//metrics');
$totalElements = 0;
$checkedElements = 0;
foreach ($metrics as $metric) {
$totalElements += (int) $metric['elements'];
$checkedElements += (int) $metric['coveredelements'];
}
$coverage = $checkedElements / $totalElements * 100;
$exit_code = 0;