Remove `skip-string-normalization` in Python formatter config
[babeltrace.git] / src / bindings / python / bt2 / bt2 / error.py
index 773586833b78c8cb81cdc58172716e72317b655c..e07a3f9002d1cb8c9a5fc32660c70e294e3d51ae 100644 (file)
@@ -1,3 +1,7 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright (c) 2019 Simon Marchi <simon.marchi@efficios.com>
+
 from bt2 import native_bt
 from collections import abc
 
@@ -9,9 +13,9 @@ class ComponentClassType:
 
 
 _COMPONENT_CLASS_TYPE_TO_STR = {
-    native_bt.COMPONENT_CLASS_TYPE_SOURCE: 'source',
-    native_bt.COMPONENT_CLASS_TYPE_FILTER: 'filter',
-    native_bt.COMPONENT_CLASS_TYPE_SINK: 'sink',
+    native_bt.COMPONENT_CLASS_TYPE_SOURCE: "source",
+    native_bt.COMPONENT_CLASS_TYPE_FILTER: "filter",
+    native_bt.COMPONENT_CLASS_TYPE_SINK: "sink",
 }
 
 
@@ -26,11 +30,10 @@ class _ErrorCause:
         self._module_name = native_bt.error_cause_get_module_name(ptr)
         self._file_name = native_bt.error_cause_get_file_name(ptr)
         self._line_number = native_bt.error_cause_get_line_number(ptr)
+        self._str = native_bt.bt2_format_bt_error_cause(ptr)
 
     def __str__(self):
-        s = '[{}] ({}:{})\n'.format(self.module_name, self.file_name, self.line_number)
-        s += self.message
-        return s
+        return self._str
 
     @property
     def message(self):
@@ -55,11 +58,11 @@ class _ComponentErrorCause(_ErrorCause):
         self._component_name = native_bt.error_cause_component_actor_get_component_name(
             ptr
         )
-        self._component_class_type = native_bt.error_cause_component_actor_get_component_class_type(
-            ptr
+        self._component_class_type = (
+            native_bt.error_cause_component_actor_get_component_class_type(ptr)
         )
-        self._component_class_name = native_bt.error_cause_component_actor_get_component_class_name(
-            ptr
+        self._component_class_name = (
+            native_bt.error_cause_component_actor_get_component_class_name(ptr)
         )
         self._plugin_name = native_bt.error_cause_component_actor_get_plugin_name(ptr)
 
@@ -83,11 +86,11 @@ class _ComponentErrorCause(_ErrorCause):
 class _ComponentClassErrorCause(_ErrorCause):
     def __init__(self, ptr):
         super().__init__(ptr)
-        self._component_class_type = native_bt.error_cause_component_class_actor_get_component_class_type(
-            ptr
+        self._component_class_type = (
+            native_bt.error_cause_component_class_actor_get_component_class_type(ptr)
         )
-        self._component_class_name = native_bt.error_cause_component_class_actor_get_component_class_name(
-            ptr
+        self._component_class_name = (
+            native_bt.error_cause_component_class_actor_get_component_class_name(ptr)
         )
         self._plugin_name = native_bt.error_cause_component_class_actor_get_plugin_name(
             ptr
@@ -109,20 +112,22 @@ class _ComponentClassErrorCause(_ErrorCause):
 class _MessageIteratorErrorCause(_ErrorCause):
     def __init__(self, ptr):
         super().__init__(ptr)
-        self._component_name = native_bt.error_cause_message_iterator_actor_get_component_name(
-            ptr
+        self._component_name = (
+            native_bt.error_cause_message_iterator_actor_get_component_name(ptr)
         )
-        self._component_output_port_name = native_bt.error_cause_message_iterator_actor_get_component_output_port_name(
-            ptr
+        self._component_output_port_name = (
+            native_bt.error_cause_message_iterator_actor_get_component_output_port_name(
+                ptr
+            )
         )
-        self._component_class_type = native_bt.error_cause_message_iterator_actor_get_component_class_type(
-            ptr
+        self._component_class_type = (
+            native_bt.error_cause_message_iterator_actor_get_component_class_type(ptr)
         )
-        self._component_class_name = native_bt.error_cause_message_iterator_actor_get_component_class_name(
-            ptr
+        self._component_class_name = (
+            native_bt.error_cause_message_iterator_actor_get_component_class_name(ptr)
         )
-        self._plugin_name = native_bt.error_cause_message_iterator_actor_get_plugin_name(
-            ptr
+        self._plugin_name = (
+            native_bt.error_cause_message_iterator_actor_get_plugin_name(ptr)
         )
 
     @property
@@ -162,13 +167,14 @@ class _Error(Exception, abc.Sequence):
     the ERROR or MEMORY_ERROR status codes.
     """
 
-    def __init__(self, msg, ptr=None):
+    def __init__(self, msg):
         super().__init__(msg)
         # Steal the current thread's error.
         self._ptr = native_bt.current_thread_take_error()
         assert self._ptr is not None
 
         self._msg = msg
+        self._str = msg + "\n" + native_bt.bt2_format_bt_error(self._ptr)
 
         # Read everything we might need from the error pointer, so we don't
         # depend on it.  It's possible for the user to keep an Error object
@@ -212,7 +218,4 @@ class _Error(Exception, abc.Sequence):
         return len(self._causes)
 
     def __str__(self):
-        s = self._msg + '\n'
-        for c in self:
-            s += str(c) + '\n'
-        return s
+        return self._str
This page took 0.029367 seconds and 4 git commands to generate.