diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-26 19:02:24 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-26 19:02:24 +0000 |
commit | 0e47948695680047490ebdc55ca3fa4f7347640f (patch) | |
tree | b03a17f1340f3c89a5fe4fb6bd64fae73df47f35 /ipalib/public.py | |
parent | 0755c218ffdedafbeb9b0a19750704205b4f0b65 (diff) | |
download | freeipa.git-0e47948695680047490ebdc55ca3fa4f7347640f.tar.gz freeipa.git-0e47948695680047490ebdc55ca3fa4f7347640f.tar.xz freeipa.git-0e47948695680047490ebdc55ca3fa4f7347640f.zip |
197: Added new public.Option.get_default() method that calls Option.default_from() if it's a DefaultFrom instance, and otherwise returns Option.default (the static default value)
Diffstat (limited to 'ipalib/public.py')
-rw-r--r-- | ipalib/public.py | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/ipalib/public.py b/ipalib/public.py index bb592d2f..9e999879 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -90,14 +90,19 @@ class Option(plugable.Plugin): __public__ = frozenset(( 'normalize', - 'default', + 'get_default', 'validate', - 'required', 'type', + 'required', + 'default', + 'default_from', )) __rules = None type = unicode required = False + default = None + default_from = None + def normalize(self, value): """ @@ -159,16 +164,12 @@ class Option(plugable.Plugin): if is_rule(attr): yield attr - def default(self, **kw): - """ - Returns a default or auto-completed value for this Option. If no - default is available, this method should return None. - - All the keywords are passed so it's possible to build an - auto-completed value from other Options values, e.g., build 'initials' - from 'givenname' + 'sn'. - """ - return None + def get_default(self, **kw): + if type(self.default_from) is DefaultFrom: + default = self.default_from(**kw) + if default is not None: + return default + return self.default class Command(plugable.Plugin): |