Coverage for bim2sim/tasks/common/deserialize_elements.py: 46%
13 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 17:09 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 17:09 +0000
1import pickle
3from bim2sim.tasks.base import ITask
6class DeserializeElements(ITask):
7 """Deserialize elements, run() method holds detailed information."""
9 touches = ('elements',)
10 single_use = True
12 def run(self):
13 """Deserializes the elements from a previous run.
15 Loads the serialized_elements from a previous run from the pickled
16 object.
18 Returns:
19 serialized_elements: dict[guid: serializedElement] of serialized
20 elements
21 """
22 pickle_path = self.paths.export / "serialized_elements.pickle"
23 try:
24 with open(pickle_path, 'rb') as file:
25 elements = pickle.load(file)
26 return elements,
27 except KeyError:
28 self.logger.warning(f"{self.__class__.__name__} task was executed "
29 f"but no serialized elements you could be"
30 f" found in path {pickle_path}")