aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/pybindings.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/common/pybindings.cc b/common/pybindings.cc
index e776e33a..ea57dbbb 100644
--- a/common/pybindings.cc
+++ b/common/pybindings.cc
@@ -61,8 +61,15 @@ Context *load_design_shim(std::string filename, ArchArgs args)
return d;
}
+void translate_assertfail(const assertion_failure &e) {
+ // Use the Python 'C' API to set up an exception object
+ PyErr_SetString(PyExc_AssertionError, e.what());
+}
+
BOOST_PYTHON_MODULE(MODULE_NAME)
{
+ register_exception_translator<assertion_failure>(&translate_assertfail);
+
using namespace PythonConversion;
class_<GraphicElement>("GraphicElement")