Clarified type refinement, simplified API, custom exception for get_pointer

Type refinement is now only done with BlendFileBlock.refine_type(), and
no longer with sdna_index_refine parameters to various functions. This
simplifies the API at the expense of having to call two simple functions
instead of one more complex one.
This commit is contained in:
Sybren A. Stüvel
2018-02-23 14:26:57 +01:00
parent 9c8766a28c
commit 934a8e210e
5 changed files with 123 additions and 49 deletions
@@ -52,3 +52,12 @@ class NoReaderImplemented(NotImplementedError):
super().__init__(message)
self.dna_name = dna_name
self.dna_type = dna_type
class SegmentationFault(Exception):
"""Raised when a pointer to a non-existant datablock was dereferenced."""
def __init__(self, message: str, field_path, address: int):
super().__init__(message)
self.field_path = field_path
self.address = address