Coverage for rivapy / pricing / factory.py: 43%
14 statements
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-27 14:36 +0000
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-27 14:36 +0000
1_factory_entries = None
4def _factory(depp=None):
5 global _factory_entries
6 if _factory_entries is None:
7 _factory_entries = {}
8 return _factory_entries
11def create(data: dict) -> object:
12 if not isinstance(data, dict):
13 return data
14 if "cls" not in data.keys():
15 raise Exception("Given dictionary has not a cls key, unable create from factory.")
16 cls = data["cls"]
18 if cls not in _factory_entries.keys():
19 raise Exception("No class registered for given cls key " + data["cls"])
20 return _factory_entries[cls].from_dict(data)