From e4ec4796a38f2143a9df200d55edb990684d67db Mon Sep 17 00:00:00 2001 From: Jan Cholasta Date: Thu, 30 Jun 2016 10:24:57 +0200 Subject: frontend: do not ignore client-side output params Do not ignore output params defined in client-side overrides. https://fedorahosted.org/freeipa/ticket/4739 Reviewed-By: David Kupka --- ipaclient/frontend.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ipaclient/frontend.py b/ipaclient/frontend.py index c2d916d92..a869e337a 100644 --- a/ipaclient/frontend.py +++ b/ipaclient/frontend.py @@ -43,7 +43,10 @@ class CommandOverride(Command): yield option def get_output_params(self): - return self.next.output_params() + for output_param in self.next.output_params(): + yield output_param + for output_param in super(CommandOverride, self).get_output_params(): + yield output_param def _iter_output(self): return self.next.output() @@ -61,3 +64,11 @@ class MethodOverride(CommandOverride, Method): @property def obj(self): return self.next.obj + + def get_output_params(self): + seen = set() + for output_param in super(MethodOverride, self).get_output_params(): + if output_param.name in seen: + continue + seen.add(output_param.name) + yield output_param -- cgit