diff options
| author | Peter LaFosse <peter@vector35.com> | 2023-05-11 15:06:07 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2023-05-11 15:06:07 -0400 |
| commit | a843a47e36cb1a166623abac70a38d716743c485 (patch) | |
| tree | 026d7482dd2a0f84e28bf85ec350342cc62c2709 /python/metadata.py | |
| parent | 1056993893066010014527953015588121223332 (diff) | |
Fix binaryview metadata bool handling
Diffstat (limited to 'python/metadata.py')
| -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() |
