diff options
| author | Gael Pasgrimaud <gael@gawel.org> | 2012-12-05 13:19:05 +0100 |
|---|---|---|
| committer | Gael Pasgrimaud <gael@gawel.org> | 2012-12-05 13:19:05 +0100 |
| commit | 26655c765c3d11e1e4e09930f93fde953dea25e2 (patch) | |
| tree | 73036ac592fb3f21d8ce1f60b7fe8293405ce1f4 /webtest/debugapp.py | |
| parent | 4b8c15c08d48843cb64ff7ac0f0c0870c246890a (diff) | |
| download | webtest-26655c765c3d11e1e4e09930f93fde953dea25e2.tar.gz | |
remove some ugly stuff by using future's literal and six. this mean we do no longer support python2.5
Diffstat (limited to 'webtest/debugapp.py')
| -rw-r--r-- | webtest/debugapp.py | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/webtest/debugapp.py b/webtest/debugapp.py index b3321c5..9e1ee99 100644 --- a/webtest/debugapp.py +++ b/webtest/debugapp.py @@ -1,5 +1,6 @@ from webob import Request, Response -from webtest.compat import to_bytes +import six + __all__ = ['debug_app'] @@ -8,7 +9,7 @@ def debug_app(environ, start_response): req = Request(environ) if req.path_info == '/form.html' and req.method == 'GET': resp = Response(content_type='text/html') - resp.body = to_bytes('''<html><body> + resp.body = six.b('''<html><body> <form action="/form-submit" method="POST"> <input type="text" name="name"> <input type="submit" name="submit" value="Submit!"> @@ -23,33 +24,40 @@ def debug_app(environ, start_response): for name, value in sorted(environ.items()): if name.upper() != name: value = repr(value) - parts.append('%s: %s\n' % (name, value)) + parts.append(str('%s: %s\n') % (name, value)) if req.content_length: req_body = req.body else: req_body = '' if req_body: - parts.append(to_bytes('-- Body ----------\n')) + parts.append('-- Body ----------\n') + if not isinstance(req_body, six.string_types): + req_body = req_body.decode('ascii') parts.append(req_body) - body = to_bytes('').join([to_bytes(p) for p in parts]) + body = ''.join(parts) if status[:3] in ('204', '304') and not req_body: - body = to_bytes('') + body = '' headers = [ - ('Content-Type', 'text/plain'), + ('Content-Type', str('text/plain')), ('Content-Length', str(len(body)))] for name, value in req.GET.items(): if name.startswith('header-'): header_name = name[len('header-'):] - headers.append((header_name, value)) + headers.append((header_name, str(value))) - start_response(str(status), headers) - if req.method == 'HEAD': - return [to_bytes('')] - return [body] + resp = Response() + resp.status = status + resp.headers.update(headers) + if req.method != 'HEAD': + if isinstance(body, six.text_type): + resp.body = body.encode('utf8') + else: + resp.body = body + return resp(environ, start_response) def make_debug_app(global_conf): |
