diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/metadata.py | 9 |
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() |
