Coverage for lobster/tools/trlc/item_wrapper.py: 88%

17 statements  

« prev     ^ index     » next       coverage.py v7.10.5, created at 2025-08-27 13:02 +0000

1from typing import Any 

2from trlc import ast 

3from lobster.tools.trlc.errors import RecordObjectComponentError 

4 

5 

6class ItemWrapper: 

7 def __init__(self, n_obj: ast.Record_Object): 

8 self._n_obj = n_obj 

9 self._item_data = n_obj.to_python_dict() 

10 

11 def get_field(self, field_name: str) -> Any: 

12 try: 

13 return self._item_data[field_name] 

14 except KeyError as ex: 

15 raise RecordObjectComponentError(field_name, self._n_obj) from ex 

16 

17 def get_field_raw(self, field_name: str) -> Any: 

18 """Returns the raw TRLC representation of the field.""" 

19 try: 

20 return self._n_obj.field[field_name] 

21 except KeyError as ex: 

22 raise RecordObjectComponentError(field_name, self._n_obj) from ex