Files
my-botty/test/nip/common.py
T
2022-06-16 09:46:14 -04:00

40 lines
1.4 KiB
Python

from dataclasses import dataclass
@dataclass
class ExpressionTest:
basename: str = None
expression: str = None
transpiled: str = None
read_json: dict = None
pick_expected: bool = False
keep_expected: bool = False
id_expected: bool = False
# for when json.dumps() fails...
def pretty_dict(dictionary):
def _nested(obj, level=1):
indentation_values = "\t" * level
indentation_braces = "\t" * (level - 1)
if isinstance(obj, dict):
return "{\n%(body)s%(indent_braces)s}" % {
"body": "".join("%(indent_values)s\'%(key)s\': %(value)s,\n" % {
"key": str(key),
"value": _nested(value, level + 1),
"indent_values": indentation_values
} for key, value in obj.items()),
"indent_braces": indentation_braces
}
if isinstance(obj, list):
return "[\n%(body)s\n%(indent_braces)s]" % {
"body": "".join("%(indent_values)s%(value)s,\n" % {
"value": _nested(value, level + 1),
"indent_values": indentation_values
} for value in obj),
"indent_braces": indentation_braces
}
else:
return "\'%(value)s\'" % {"value": str(obj)}
dict_text = _nested(dictionary)
return dict_text