diff options
Diffstat (limited to 'lcm/pub/utils/values.py')
-rw-r--r-- | lcm/pub/utils/values.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lcm/pub/utils/values.py b/lcm/pub/utils/values.py index fbb75f68..c2ce3c09 100644 --- a/lcm/pub/utils/values.py +++ b/lcm/pub/utils/values.py @@ -28,6 +28,15 @@ def ignore_case_get(args, key, def_val=""): return def_val +def remove_none_key(data, none_list=None): + none_list = none_list if none_list else [None, '', 'NULL', 'None', 'null', {}, '{}'] + if isinstance(data, dict): + data = dict([(k, remove_none_key(v)) for k, v in data.iteritems() if v not in none_list]) + if isinstance(data, list): + data = [remove_none_key(s) for s in data if s not in none_list] + return data + + def update_value(origin_data, new_data): logger.debug(origin_data) if not isinstance(origin_data, dict): |