diff options
| -rw-r--r-- | changes/feature_add-leap-check | 1 | ||||
| -rw-r--r-- | src/leap/common/check.py | 17 | 
2 files changed, 18 insertions, 0 deletions
| diff --git a/changes/feature_add-leap-check b/changes/feature_add-leap-check new file mode 100644 index 0000000..5906c03 --- /dev/null +++ b/changes/feature_add-leap-check @@ -0,0 +1 @@ +  o Add leap_check helper method, to use whenever leap_assert does not apply. Related to #3007. diff --git a/src/leap/common/check.py b/src/leap/common/check.py index e6b0b52..82da5ff 100644 --- a/src/leap/common/check.py +++ b/src/leap/common/check.py @@ -60,3 +60,20 @@ def leap_assert_type(var, expectedType):      leap_assert(isinstance(var, expectedType),                  "Expected type %r instead of %r" %                  (expectedType, type(var))) + + +def leap_check(condition, message="", exception=Exception): +    """ +    Asserts the condition and displays the message if that's not +    met. It also logs the error and its backtrace. + +    :param condition: condition to check +    :type condition: bool +    :param message: message to display if the condition isn't met +    :type message: str +    :param exception: the exception to raise in case of condition being false. +    :type exception: Exception +    """ +    if not condition: +        logger.error(message) +        raise exception(message) | 
