public function createParser()
{
$parser_class = $this->getParserClass();
$parser = new $parser_class(array('usage' => '%prog ' . $this->getUsage()));
foreach ($this->getModules() as $module_name) {
$module = $this->getProvider()->getModule($module_name);
foreach ($module->getBaseOptions() as $option) {
$parser->addOption($option);
}
if ($module->hasOptionGroup()) {
$group = new Horde_Argv_OptionGroup($parser, $module->getOptionGroupTitle(), $module->getOptionGroupDescription());
foreach ($module->getOptionGroupOptions() as $option) {
$group->addOption($option);
}
$parser->addOptionGroup($group);
}
}
return $parser;
}