summaryrefslogtreecommitdiff
path: root/python/metadata.py
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2023-05-11 15:06:07 -0400
committerPeter LaFosse <peter@vector35.com>2023-05-11 15:06:07 -0400
commita843a47e36cb1a166623abac70a38d716743c485 (patch)
tree026d7482dd2a0f84e28bf85ec350342cc62c2709 /python/metadata.py
parent1056993893066010014527953015588121223332 (diff)
Fix binaryview metadata bool handling
Diffstat (limited to 'python/metadata.py')
-rw-r--r--python/metadata.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/python/metadata.py b/python/metadata.py
index c69fe24e..3fe552fe 100644
--- a/python/metadata.py
+++ b/python/metadata.py
@@ -39,13 +39,13 @@ class Metadata:
"""
if handle is not None:
self.handle = handle
+ elif isinstance(value, bool):
+ self.handle = core.BNCreateMetadataBooleanData(value)
elif isinstance(value, int):
if signed:
self.handle = core.BNCreateMetadataSignedIntegerData(value)
else:
self.handle = core.BNCreateMetadataUnsignedIntegerData(value)
- elif isinstance(value, bool):
- self.handle = core.BNCreateMetadataBooleanData(value)
elif isinstance(value, str):
self.handle = core.BNCreateMetadataStringData(value)
elif isinstance(value, bytes):
@@ -151,6 +151,11 @@ class Metadata:
return str(core.BNMetadataGetString(self.handle))
raise ValueError("Metadata object not a string")
+ def __bool__(self):
+ if self.is_boolean:
+ return bool(core.BNMetadataGetBoolean(self.handle))
+ raise ValueError("Metadata object not a boolean")
+
def __bytes__(self):
try:
length = ctypes.c_ulonglong()