MCPcopy
hub / github.com/fluentpython/example-code-2e / load

Function load

22-dyn-attr-prop/oscon/schedule_v5.py:72–87  ·  view source on GitHub ↗
(path=JSON_PATH)

Source from the content-addressed store, hash-verified

70# end::SCHEDULE5_PROPERTY_OVER_CACHE[]
71
72def load(path=JSON_PATH):
73 records = {}
74 with open(path) as fp:
75 raw_data = json.load(fp)
76 for collection, raw_records in raw_data['Schedule'].items():
77 record_type = collection[:-1]
78 cls_name = record_type.capitalize()
79 cls = globals().get(cls_name, Record)
80 if inspect.isclass(cls) and issubclass(cls, Record):
81 factory = cls
82 else:
83 factory = Record
84 for raw_record in raw_records:
85 key = f'{record_type}.{raw_record["serial"]}'
86 records[key] = factory(**raw_record)
87 return records

Callers 1

fetchMethod · 0.70

Calls 3

loadMethod · 0.45
itemsMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected