예제 #1
0
 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)
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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