modular_sdk/commons/helpers.py (16 lines of code) (raw):
class classproperty:
"""
Decorator that converts a method with a single cls argument into a property
that can be accessed directly from the class.
Cannot be used to create a writable property.
"""
def __init__(self, method=None):
self.fget = method
def __get__(self, instance, cls=None):
return self.fget(cls)
def getter(self, method):
self.fget = method
return self
def replace_keys_in_dict(dictionary: dict, old_character: str,
new_character: str) -> dict:
new = {}
for key, value in dictionary.items():
if isinstance(value, dict):
value = replace_keys_in_dict(value, old_character, new_character)
new[key.replace(old_character, new_character)] = value
return new