diff --git a/dump.py b/dump.py new file mode 100644 index 000000000..060ad28b3 --- /dev/null +++ b/dump.py @@ -0,0 +1,27 @@ +import traceback +import json + +def cvt(s): + if isinstance(s, str): + return s + try: + return json.dumps(s, indent = 4) + except TypeError: + return str(s) + +def dump(*vals): + # http://docs.python.org/library/traceback.html + stack= traceback.extract_stack() + vars= stack[-2][3] + + # strip away the call to dump() + vars= '('.join(vars.split('(')[1:]) + vars= ')'.join(vars.split(')')[:-1]) + + vals= [cvt(v) for v in vals] + has_newline = sum(1 for v in vals if '\n' in v) + if has_newline: + print('%s:' % vars) + print(', '.join(vals)) + else: + print('%s:' % vars, ', '.join(vals))