diff options
author | Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> | 2023-05-30 15:01:29 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2023-05-30 18:29:08 +0300 |
commit | 9506da142b5de012d2b98072273b223b77ba4439 (patch) | |
tree | b26eca93db0a297804a17fca569a57376edba89a | |
parent | b9ecd85ed1fee2e9d715368b24592ad3009131d8 (diff) |
py: Fix CameraManager.version property
The current CameraManager.version doesn't work at all (raises a
TypeError), as that's not how you use expose C++ static methods as
Python class methods.
Fix it.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | src/py/libcamera/py_main.cpp | 2 | ||||
-rwxr-xr-x | test/py/unittests.py | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/py/libcamera/py_main.cpp b/src/py/libcamera/py_main.cpp index d14e18e2..c55495cc 100644 --- a/src/py/libcamera/py_main.cpp +++ b/src/py/libcamera/py_main.cpp @@ -105,7 +105,7 @@ PYBIND11_MODULE(_libcamera, m) return cm; }) - .def_property_readonly("version", &PyCameraManager::version) + .def_property_readonly_static("version", [](py::object /* self */) { return PyCameraManager::version(); }) .def("get", &PyCameraManager::get, py::keep_alive<0, 1>()) .def_property_readonly("cameras", &PyCameraManager::cameras) diff --git a/test/py/unittests.py b/test/py/unittests.py index 6dea80fc..90b04330 100755 --- a/test/py/unittests.py +++ b/test/py/unittests.py @@ -68,6 +68,10 @@ class SimpleTestMethods(BaseTestCase): # I expected EBUSY, but looks like double release works fine self.assertZero(ret) + def test_version(self): + cm = libcam.CameraManager.singleton() + self.assertIsInstance(cm.version, str) + class CameraTesterBase(BaseTestCase): cm: typing.Any |