def __getitem__(self, key: str) -> Any: """ Get header variable `key` by index operator like: :code:`drawing.header['$ACADVER']` """ try: return self.hdrvars[key].value except KeyError: # map exception raise const.DXFKeyError(str(key))
def __delitem__(self, key: str) -> None: """ Delete header variable `key` by index operator like: :code:`del drawing.header['$ANGDIR']` """ try: del self.hdrvars[key] except KeyError: # map exception raise const.DXFKeyError(str(key))
def _headervar_factory(self, key: str, value: Any) -> DXFTag: if key in HEADER_VAR_MAP: factory = HEADER_VAR_MAP[key].factory return factory(value) else: raise const.DXFKeyError(f"Invalid header variable {key}.")