Files
ShiteMusicBot/cogs/utils/dict_utils.py
T
unknown 5a299b6c59 Created a utility module dict_utils, containing a SafeDict and a
dictionary flattener

Created a localization module localizer.py that can load localization
files and return various translations of strings
2019-01-26 13:28:15 +01:00

18 lines
562 B
Python

import collections
class SafeDict(dict):
def __missing__(self, key):
return '{' + key + '}'
# from https://stackoverflow.com/questions/6027558/flatten-nested-python-dictionaries-compressing-keys
def flatten(d, parent_key='', sep='/'):
items = []
for k, v in d.items():
new_key = parent_key + sep + k if parent_key else k
if isinstance(v, collections.MutableMapping):
items.extend(flatten(v, new_key, sep=sep).items())
else:
items.append((new_key, v))
return dict(items)