Explicitly mention `black` in CodingStyle guidelines
[babeltrace.git] / src / bindings / python / bt2 / bt2 / component.py
index 6d7fa3104dafa7d3da15295931374a693186ca0a..18b502ac6c1e150fbb328bab9f7bac0451061678 100644 (file)
@@ -443,6 +443,9 @@ class _UserComponentType(type):
                                                                  comp_cls_descr,
                                                                  comp_cls_help)
         elif _UserSinkComponent in bases:
+            if not hasattr(cls, '_graph_is_configured'):
+                raise bt2.IncompleteUserClass("cannot create component class '{}': missing a _graph_is_configured() method".format(class_name))
+
             if not hasattr(cls, '_consume'):
                 raise bt2.IncompleteUserClass("cannot create component class '{}': missing a _consume() method".format(class_name))
 
@@ -527,12 +530,15 @@ class _UserComponentType(type):
         results = bt2.create_value(results)
 
         if results is None:
-            results_addr = int(native_bt.value_null)
+            results_ptr = native_bt.value_null
         else:
             # return new reference
-            results_addr = int(results._release())
+            results_ptr = results._ptr
+
+        # We return a new reference.
+        bt2.value._Value._get_ref(results_ptr)
 
-        return results_addr
+        return int(results_ptr)
 
     def _query(cls, query_executor, obj, params, log_level):
         raise NotImplementedError
@@ -606,8 +612,7 @@ class _UserComponent(metaclass=_UserComponentType):
     def _bt_graph_is_configured_from_native(self):
         self._graph_is_configured()
 
-    def _create_trace_class(self, env=None, uuid=None,
-                            assigns_automatic_stream_class_id=True):
+    def _create_trace_class(self, assigns_automatic_stream_class_id=True):
         ptr = self._bt_as_self_component_ptr(self._bt_ptr)
         tc_ptr = native_bt.trace_class_create(ptr)
 
@@ -615,14 +620,6 @@ class _UserComponent(metaclass=_UserComponentType):
             raise bt2.CreationError('could not create trace class')
 
         tc = bt2._TraceClass._create_from_ptr(tc_ptr)
-
-        if env is not None:
-            for key, value in env.items():
-                tc.env[key] = value
-
-        if uuid is not None:
-            tc._uuid = uuid
-
         tc._assigns_automatic_stream_class_id = assigns_automatic_stream_class_id
 
         return tc
This page took 0.027046 seconds and 4 git commands to generate.