diff options
Diffstat (limited to 'fedcli.php')
-rwxr-xr-x | fedcli.php | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -30,7 +30,9 @@ function Help() { echo "\nFedora Client Command Line usage\n\n"; echo "fdcli command options\n"; + echo "\tbranch: branch info\n"; echo "\tbranches: list branches\n"; + echo "\tpackage: package info\n"; echo "\tversion: class version\n"; echo "Also try fdcli command --help\n"; } @@ -69,6 +71,44 @@ function Branch() { print_r($branch); } +function Package() { + $config = array( + "package" => array('short' => 'p', 'max' => 1, 'min' => 1, 'desc' => "package name"), + "debug" => array('short' => 'd', 'max' => 1, 'min' => 1, 'desc' => "debug level", 'default' => "0") + ); + $args =& Console_Getargs::factory($config); + + if (PEAR::isError($args)) { + die (Console_Getargs::getHelp($config)); + } + $client = new FedoraPkgdb(array('debug' => intval($args->getValue('debug')))); + $rep = $client->getPackageInfo($args->getValue('package')); + + if (!$rep) { + die("Package not found\n"); + } + if (isset($rep['title'])) { + echo $rep['title']."\n"; + } + $first = true; + foreach ($rep['packageListings'] as $pack) { + if ($first) { + $first = false; + echo 'Summary: '.$pack['package']['summary']."\n"; + echo 'Description: '.$pack['package']['description']."\n"; + } + echo $pack['collection']['branchname'].": ".$pack['owner']; + + $i=0; + foreach ($pack['people'] as $user) { + if (isset($user['aclOrder']['commit']['statuscode']) && $user['aclOrder']['commit']['statuscode']==3) { + echo ($i++ ? ", " : " (").$user['username']; + } + } + echo ($i ? ")\n" : "\n"); + } +} + function Version() { $config = array( "debug" => array('short' => 'd', 'max' => 1, 'min' => 1, 'desc' => "debug level", 'default' => "0") @@ -88,6 +128,7 @@ $cmd = array_shift($_SERVER['argv']); switch ($cmd) { case 'branches': Branches(); break; case 'branch': Branch(); break; + case 'package': Package(); break; case 'version': Version(); break; default: Help(); } |