Fix task order creation

This commit is contained in:
richard-dds
2018-10-22 16:16:58 -04:00
parent a1735874e6
commit 39bbfb745a
6 changed files with 81 additions and 29 deletions

View File

@@ -26,10 +26,30 @@ def deep_merge(source, destination: dict):
def getattr_path(obj, path, default=None):
_obj = obj
for item in path.split("."):
_obj = getattr(_obj, item, default)
if isinstance(_obj, dict):
_obj = _obj.get(item)
else:
_obj = getattr(_obj, item, default)
return _obj
def update_obj(obj, dct):
for k, v in dct.items():
if hasattr(obj, k) and v is not None:
setattr(obj, k, v)
return obj
def camel_to_snake(camel_cased):
s1 = re.sub("(.)([A-Z][a-z]+)", r"\1_\2", camel_cased)
return re.sub("([a-z0-9])([A-Z])", r"\1_\2", s1).lower()
def drop(keys, dct):
_keys = set(keys)
return {k: v for k, v in dct.items() if k not in _keys}
def pick(keys, dct):
_keys = set(keys)
return {k: v for (k, v) in dct.items() if k in _keys}