add logger in validation

This commit is contained in:
Emmanuel Garette 2014-04-03 22:15:41 +02:00
parent 76a43a7ff9
commit da434a4273
2 changed files with 18 additions and 6 deletions

View File

@ -27,7 +27,7 @@ from IPy import IP
import warnings
from tiramisu.error import ConfigError, ConflictError, ValueWarning
from tiramisu.setting import groups, multitypes
from tiramisu.setting import groups, multitypes, log
from tiramisu.i18n import _
from tiramisu.autolib import carry_out_calculation
@ -430,10 +430,14 @@ class Option(BaseOption):
val_validator(_value)
self._second_level_validation(_value, self._warnings_only)
except ValueError as error:
log.debug(_('do_validation for {0}: error in value').format(
self._name), exc_info=True)
if self._warnings_only:
warning = error
error = None
except ValueWarning as warning:
log.debug(_('do_validation for {0}: warning in value').format(
self._name), exc_info=True)
pass
if error is None and warning is None:
try:
@ -441,8 +445,12 @@ class Option(BaseOption):
if context is not None:
descr._valid_consistency(self, _value, context, _index)
except ValueError as error:
log.debug(_('do_validation for {0}: error in consistency').format(
self._name), exc_info=True)
pass
except ValueWarning as warning:
log.debug(_('do_validation for {0}: warning in consistency').format(
self._name), exc_info=True)
pass
if warning:
msg = _("warning on the value of the option {0}: {1}").format(
@ -1543,10 +1551,10 @@ def validate_callback(callback, callback_params, type_):
if not isinstance(option, Option) and not \
isinstance(option, SymLinkOption):
raise ValueError(_('{0}_params must have an option'
' not a {0} for first argument'
).format(type_, type(option)))
' not a {0} for first argument'
).format(type_, type(option)))
if force_permissive not in [True, False]:
raise ValueError(_('{0}_params must have a boolean'
' not a {0} for second argument'
).format(type_, type(
force_permissive)))
' not a {0} for second argument'
).format(type_, type(
force_permissive)))

View File

@ -17,6 +17,7 @@
# ____________________________________________________________
from time import time
from copy import copy
from logging import getLogger
import weakref
from tiramisu.error import (RequirementError, PropertiesOptionError,
ConstError, ConfigError)
@ -99,6 +100,9 @@ rw_append = set(['frozen', 'disabled', 'validator', 'hidden'])
rw_remove = set(['permissive', 'everything_frozen', 'mandatory'])
log = getLogger('tiramisu')
# ____________________________________________________________
class _NameSpace(object):
"""convenient class that emulates a module