def audit(self, auditor: Auditor) -> None: """Audit and repair BLOCKS section. .. important:: Do not delete entities while auditing process, because this would alter the entity database while iterating, instead use:: auditor.trash(entity) to delete invalid entities after auditing automatically. """ assert self.doc is auditor.doc, "Auditor for different DXF document." for block_record in self.block_records: assert isinstance(block_record, BlockRecord) for entity in block_record.entity_space: if not is_graphic_entity(entity): auditor.fixed_error( code=AuditError.REMOVED_INVALID_GRAPHIC_ENTITY, message=f"Removed invalid DXF entity {str(entity)} from" f" BLOCK '{block_record.dxf.name}'.", ) auditor.trash(entity) elif isinstance(entity, Attrib): # ATTRIB can only exist as an attached entity of the INSERT # entity! auditor.fixed_error( code=AuditError.REMOVED_STANDALONE_ATTRIB_ENTITY, message=f"Removed standalone {str(entity)} entity from" f" BLOCK '{block_record.dxf.name}'.", ) auditor.trash(entity)
def audit(self, auditor: Auditor) -> None: """Audit and repair OBJECTS section. .. important:: Do not delete entities while auditing process, because this would alter the entity database while iterating, instead use:: auditor.trash(entity) to delete invalid entities after auditing automatically. """ assert self.doc is auditor.doc, "Auditor for different DXF document." for entity in self._entity_space: if not is_dxf_object(entity): auditor.fixed_error( code=AuditError.REMOVED_INVALID_DXF_OBJECT, message=f"Removed invalid DXF entity {str(entity)} " f"from OBJECTS section.", ) auditor.trash(entity)