MCPcopy Index your code
hub / github.com/bugy/script-server / read_nested

Function read_nested

src/model/model_helper.py:290–320  ·  view source on GitHub ↗
(json_object, path)

Source from the content-addressed store, hash-verified

288
289
290def read_nested(json_object, path):
291 first_path_element = path[0]
292 value = json_object.get(first_path_element)
293
294 if len(path) == 1:
295 return value
296
297 if value is None:
298 return None
299
300 if isinstance(value, dict):
301 return read_nested(value, path[1:])
302
303 if isinstance(value, list):
304 result = []
305
306 for value_element in value:
307 nested_value = read_nested(value_element, path[1:])
308 if isinstance(nested_value, list):
309 result.extend(nested_value)
310 elif nested_value is not None:
311 result.append(nested_value)
312
313 if not result:
314 return None
315 if len(result) == 1:
316 return result[0]
317
318 return result
319
320 return None
321
322
323def read_enum(config, key, allowed_values, default=None):

Callers

nothing calls this directly

Calls 3

extendMethod · 0.80
appendMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected