[PATCH v2 3/3] py: Add bindings for ControlId vendor information
Paul Elder
paul.elder at ideasonboard.com
Wed Oct 16 13:19:43 CEST 2024
Add python bindings for quering vendor information from a ControlId.
While at it, update __repr__ so that it also prints the vendor.
Example usage:
>>> cid
libcamera.ControlId(20, libcamera.Saturation, ControlType.Float)
>>> cid.vendor
'libcamera'
Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
---
Changes in v2:
- reorder code so vendor comes immediately after name
- update repr
---
src/py/libcamera/py_main.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/py/libcamera/py_main.cpp b/src/py/libcamera/py_main.cpp
index 983b76f6e998..09b6f9db0650 100644
--- a/src/py/libcamera/py_main.cpp
+++ b/src/py/libcamera/py_main.cpp
@@ -399,11 +399,12 @@ PYBIND11_MODULE(_libcamera, m)
pyControlId
.def_property_readonly("id", &ControlId::id)
.def_property_readonly("name", &ControlId::name)
+ .def_property_readonly("vendor", &ControlId::vendor)
.def_property_readonly("type", &ControlId::type)
.def("__str__", [](const ControlId &self) { return self.name(); })
.def("__repr__", [](const ControlId &self) {
- return py::str("libcamera.ControlId({}, {}, {})")
- .format(self.id(), self.name(), self.type());
+ return py::str("libcamera.ControlId({}, {}.{}, {})")
+ .format(self.id(), self.vendor(), self.name(), self.type());
})
.def("enumerators", &ControlId::enumerators);
--
2.39.2
More information about the libcamera-devel
mailing list