V-MAGE-DEMO / utils /dict_utils.py
Fengx1n's picture
Initial DEMO
e53fda1
from typing import Dict
def kget(obj, *keys, default=None):
if obj is None:
return default
for key in keys:
try:
obj = obj[key]
except (KeyError, IndexError):
return default
return obj
def get_with_warning(obj: Dict, key, default=None):
if obj is None:
print(f"Warning: obj is None, use default value: {default}")
return default
try:
obj = obj[key]
print(f"Warning: key {key} found, value: {obj}")
except (KeyError, IndexError):
print(f"Warning: key {key} not found, use default value: {default}")
return default
return obj