diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-11-12 01:47:37 -0700 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-11-12 01:47:37 -0700 |
commit | 09161e399a61e2a548e9efb3c3abb2c7b47d5520 (patch) | |
tree | a168eb43e22563cb328631605ec8ee6f4a814165 /ipalib/plugins/f_misc.py | |
parent | 014af24731ff39520a9635694ed99dc9d09669c9 (diff) | |
download | freeipa-09161e399a61e2a548e9efb3c3abb2c7b47d5520.tar.gz freeipa-09161e399a61e2a548e9efb3c3abb2c7b47d5520.tar.xz freeipa-09161e399a61e2a548e9efb3c3abb2c7b47d5520.zip |
Command.get_default() will now fill-in None for all missing non-required params
Diffstat (limited to 'ipalib/plugins/f_misc.py')
-rw-r--r-- | ipalib/plugins/f_misc.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/ipalib/plugins/f_misc.py b/ipalib/plugins/f_misc.py index 055e54d75..1acf1c999 100644 --- a/ipalib/plugins/f_misc.py +++ b/ipalib/plugins/f_misc.py @@ -31,23 +31,34 @@ from ipalib import api, Command, Param, Bool class env(Command): """Show environment variables""" + takes_args = ('variables*',) + takes_options = ( Param('server?', type=Bool(), default=False, doc='Show environment variables of server', ), ) - def run(self, **kw): - if kw.get('server', False) and not self.api.env.in_server: - return self.forward() - return self.execute() + def run(self, variables, **kw): + if kw['server'] and not self.env.in_server: + return self.forward(variables) + return self.execute(variables) + + def find_keys(self, variables): + for key in variables: + if key in self.env: + yield (key, self.env[key]) - def execute(self): - return tuple( - (key, self.api.env[key]) for key in self.api.env - ) + def execute(self, variables): + if variables is None: + return tuple( + (key, self.env[key]) for key in self.env + ) + return tuple(self.find_keys(variables)) def output_for_cli(self, textui, result, **kw): + if len(result) == 0: + return textui.print_name(self.name) textui.print_keyval(result) textui.print_count(result, '%d variable', '%d variables') |