lib: make it mandatory to have seek_X if can_seek_X is defined
[babeltrace.git] / src / bindings / python / bt2 / bt2 / component.py
index c4be7368121d6b1393b05c3db30adb7261e2e2ce..9d27e6e09093ca546edbbc523950b240d0e8f7ae 100644 (file)
@@ -553,6 +553,24 @@ class _UserComponentType(type):
                 )
             )
 
+        if hasattr(iter_cls, '_user_can_seek_ns_from_origin') and not hasattr(
+            iter_cls, '_user_seek_ns_from_origin'
+        ):
+            raise bt2._IncompleteUserClass(
+                "cannot create component class '{}': message iterator class implements _user_can_seek_ns_from_origin but not _user_seek_ns_from_origin".format(
+                    cls.__name__
+                )
+            )
+
+        if hasattr(iter_cls, '_user_can_seek_beginning') and not hasattr(
+            iter_cls, '_user_seek_beginning'
+        ):
+            raise bt2._IncompleteUserClass(
+                "cannot create component class '{}': message iterator class implements _user_can_seek_beginning but not _user_seek_beginning".format(
+                    cls.__name__
+                )
+            )
+
         cls._iter_cls = iter_cls
 
     @property
This page took 0.023574 seconds and 4 git commands to generate.