summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/feature_add-leap-check1
-rw-r--r--src/leap/common/check.py17
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)