def __str__(self): """ Human-readable error. """ margin = ' ' * 2 return indent(("\nReturn code: {}\n" "Output:\n{}\n" "Error:\n{}").format(self.code, indent(str(self.output), margin), indent(str(self.error), margin)), margin)
def post_frontend_error_log(user, config, request_dict): feel_path = config.get('feel_log_path', None) if not feel_path: return ['(no front-end error log configured)'] now = datetime.datetime.utcnow() now_str = now.isoformat() username = user.username if user else '<nouser>' err_bytes = json.dumps(request_dict, sort_keys=True, indent=2) err_bytes = indent(err_bytes, ' ') with open(feel_path, 'ab') as feel_file: feel_file.write('Begin error at %s:\n\n' % now_str) feel_file.write(' + Username: '******'\n') feel_file.write(err_bytes) feel_file.write('\n\nEnd error at %s\n\n' % now_str) return
def test_indent(): to_indent = '\nabc\ndef\n\nxyz\n' ref = '\n abc\n def\n\n xyz\n' assert strutils.indent(to_indent, ' ') == ref