diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-07 04:51:21 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-07 04:51:21 +0000 |
commit | 8a6041b7978d370418e99df8b9fc06b2055a39e6 (patch) | |
tree | 331712c5f00560e1b6076e0e88360536043a8532 /ipalib/public.py | |
parent | fadbae642053565be1d10bc5d6b40b151a97ff16 (diff) | |
download | freeipa.git-8a6041b7978d370418e99df8b9fc06b2055a39e6.tar.gz freeipa.git-8a6041b7978d370418e99df8b9fc06b2055a39e6.tar.xz freeipa.git-8a6041b7978d370418e99df8b9fc06b2055a39e6.zip |
73: Started work on validation rules for opt; added corresponding unit tests
Diffstat (limited to 'ipalib/public.py')
-rw-r--r-- | ipalib/public.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ipalib/public.py b/ipalib/public.py index 5806d0eb..b43e0af9 100644 --- a/ipalib/public.py +++ b/ipalib/public.py @@ -27,6 +27,19 @@ import plugable import errors +RULE_FLAG = 'validation_rule' + +def rule(obj): + assert not hasattr(obj, RULE_FLAG) + setattr(obj, RULE_FLAG, True) + return obj + +def is_rule(obj): + return getattr(obj, RULE_FLAG, False) is True + + + + class opt(plugable.ReadOnly): __public__ = frozenset(( 'normalize', @@ -35,6 +48,7 @@ class opt(plugable.ReadOnly): 'required', 'type', )) + __rules = None def normalize(self, value): try: @@ -44,6 +58,18 @@ class opt(plugable.ReadOnly): self.__class__.__name__, value, self.type ) + def __get_rules(self): + if self.__rules is None: + self.__rules = tuple(self.__rules_iter()) + return self.__rules + rules = property(__get_rules) + + def __rules_iter(self): + pass + + def validate(self, value): + pass + |