Add leap_check helper method, #3007 related issue.
authorIvan Alejandro <ivanalejandro0@gmail.com>
Thu, 25 Jul 2013 14:02:18 +0000 (11:02 -0300)
committerIvan Alejandro <ivanalejandro0@gmail.com>
Thu, 25 Jul 2013 14:05:44 +0000 (11:05 -0300)
changes/feature_add-leap-check [new file with mode: 0644]
src/leap/common/check.py

diff --git a/changes/feature_add-leap-check b/changes/feature_add-leap-check
new file mode 100644 (file)
index 0000000..5906c03
--- /dev/null
@@ -0,0 +1 @@
+  o Add leap_check helper method, to use whenever leap_assert does not apply. Related to #3007.
index e6b0b52..82da5ff 100644 (file)
@@ -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)