summaryrefslogtreecommitdiff
path: root/python/metadata.py
diff options
context:
space:
mode:
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()