From d7a7ba4f45d189c841c28bd5bfbe1f4b4b721154 Mon Sep 17 00:00:00 2001 From: John Dennis Date: Wed, 28 Nov 2007 12:06:06 -0500 Subject: add user profile command line arg to all radius profile command line tools to select between shared and per user profiles modify AttributeValueCompleter so default values prefer previously entered values in editing session --- ipa-python/ipautil.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'ipa-python/ipautil.py') diff --git a/ipa-python/ipautil.py b/ipa-python/ipautil.py index 5f7d396aa..7006e1951 100644 --- a/ipa-python/ipautil.py +++ b/ipa-python/ipautil.py @@ -528,6 +528,7 @@ class AttributeValueCompleter: self.lhs_delims = lhs_delims self.operator = operator self.strip_rhs = strip_rhs + self.pairs = None self._reset() def _reset(self): @@ -589,6 +590,13 @@ class AttributeValueCompleter: and it should return the default value for the attriubte or None''' if not self.lhs_complete: raise ValueError("attribute not parsed") + + # If the user previously provided a value let that override the supplied default + if self.pairs is not None: + prev_value = self.pairs.get(self.lhs) + if prev_value is not None: return prev_value + + # No previous user provided value, query for a default default_value_type = type(self.default_value) if default_value_type is DictType: return self.default_value.get(self.lhs, None) @@ -663,7 +671,7 @@ class AttributeValueCompleter: return None, None def get_pairs(self, prompt, mandatory_attrs=None, validate_callback=None, must_match=True, value_required=True): - pairs = {} + self.pairs = {} if mandatory_attrs: mandatory_attrs_remaining = mandatory_attrs[:] else: @@ -702,8 +710,8 @@ class AttributeValueCompleter: except ValueError: pass - pairs[attribute] = value - return pairs + self.pairs[attribute] = value + return self.pairs class ItemCompleter: ''' -- cgit