summaryrefslogtreecommitdiff
path: root/src/leap
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap')
-rw-r--r--src/leap/common/check.py17
1 files changed, 17 insertions, 0 deletions
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)