bindings: python: support casting line.Value to bool
authorKent Gibson <warthog618@gmail.com>
Wed, 22 May 2024 00:46:43 +0000 (08:46 +0800)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 23 May 2024 07:51:53 +0000 (09:51 +0200)
Python types default to being truthy when cast to bool, so casting
line.Value to bool always returns True.

Add a line.Value.__bool__() operator to map the line value to bool as
one would intuitively expect, so ACTIVE is True and INACTIVE is False.

Signed-off-by: Kent Gibson <warthog618@gmail.com>
Link: https://lore.kernel.org/r/20240522004643.96863-3-warthog618@gmail.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
bindings/python/gpiod/line.py

index 1cc512f7312f20712fa84fac1383495b641ebfee..d088fb4631cc9f2bf102b6fe9a6ed5dad1eb4420 100644 (file)
@@ -14,6 +14,9 @@ class Value(Enum):
     INACTIVE = _ext.VALUE_INACTIVE
     ACTIVE = _ext.VALUE_ACTIVE
 
+    def __bool__(self):
+        return self == self.ACTIVE
+
 
 class Direction(Enum):
     """Direction settings."""