summaryrefslogtreecommitdiff
path: root/webob
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-09-20 07:01:01 -0400
committerChris McDonough <chrism@plope.com>2011-09-20 07:01:01 -0400
commit964c75befd9cebf5c35c6f508d0449518d0771e7 (patch)
treecadfca0f56adae303b2156abc2b8c62153680abc /webob
parentb96876888e4cf119b6cbce150909d0c0bd69ad90 (diff)
downloadwebob-964c75befd9cebf5c35c6f508d0449518d0771e7.tar.gz
fix most test_exc tests, all datetime_utils tests, some test_dec tests for 3.2
Diffstat (limited to 'webob')
-rw-r--r--webob/datetime_utils.py7
-rw-r--r--webob/dec.py7
-rw-r--r--webob/exc.py19
-rw-r--r--webob/util.py3
4 files changed, 24 insertions, 12 deletions
diff --git a/webob/datetime_utils.py b/webob/datetime_utils.py
index 83c3706..103a459 100644
--- a/webob/datetime_utils.py
+++ b/webob/datetime_utils.py
@@ -8,9 +8,10 @@ from email.utils import parsedate_tz
from email.utils import mktime_tz
from email.utils import formatdate
-from webob.compat import text_type
from webob.compat import binary_type
+from webob.compat import text_type
from webob.compat import integer_types
+from webob.compat import text_
__all__ = [
'UTC', 'timedelta_to_seconds',
@@ -69,9 +70,9 @@ def parse_date(value):
return datetime.fromtimestamp(t, UTC)
def serialize_date(dt):
- if isinstance(dt, text_type):
- dt = dt.encode('ascii')
if isinstance(dt, binary_type):
+ dt = text_(dt)
+ if isinstance(dt, text_type):
return dt
if isinstance(dt, timedelta):
dt = _now() + dt
diff --git a/webob/dec.py b/webob/dec.py
index f402315..69853bd 100644
--- a/webob/dec.py
+++ b/webob/dec.py
@@ -10,6 +10,9 @@ import sys
import webob
import webob.exc
from webob.compat import class_types
+from webob.compat import text_type
+from webob.compat import binary_type
+from webob.compat import bytes_
__all__ = ['wsgify']
@@ -150,7 +153,9 @@ class wsgify(object):
if resp is None:
## FIXME: I'm not sure what this should be?
resp = req.response
- elif isinstance(resp, basestring):
+ if isinstance(resp, text_type):
+ resp = bytes_(resp, req.charset)
+ if isinstance(resp, binary_type):
body = resp
resp = req.response
resp.write(body)
diff --git a/webob/exc.py b/webob/exc.py
index f117f25..4903383 100644
--- a/webob/exc.py
+++ b/webob/exc.py
@@ -163,12 +163,15 @@ import re
import sys
from string import Template
-from webob import Response
-from webob import Request
-from webob import html_escape
from webob.compat import urlparse
from webob.compat import class_types
+from webob.compat import text_type
+from webob.compat import binary_type
+from webob.compat import text_
+from webob.request import Request
+from webob.response import Response
from webob.util import warn_deprecation
+from webob.util import html_escape
tag_re = re.compile(r'<.*?>', re.S)
br_re = re.compile(r'<br.*?>', re.I|re.S)
@@ -177,11 +180,13 @@ comment_re = re.compile(r'<!--|-->')
def no_escape(value):
if value is None:
return ''
- if not isinstance(value, basestring):
+ if not isinstance(value, text_type):
if hasattr(value, '__unicode__'):
- value = unicode(value)
+ value = value.__unicode__()
+ if isinstance(value, binary_type):
+ value = text_(value, 'utf-8')
else:
- value = str(value)
+ value = text_type(value)
return value
def strip_tags(value):
@@ -304,7 +309,7 @@ ${body}''')
content_type = 'text/plain'
body = self.plain_body(environ)
extra_kw = {}
- if isinstance(body, unicode):
+ if isinstance(body, text_type):
extra_kw.update(charset='utf-8')
resp = Response(body,
status=self.status,
diff --git a/webob/util.py b/webob/util.py
index 0f590a2..8b032f5 100644
--- a/webob/util.py
+++ b/webob/util.py
@@ -2,6 +2,7 @@ import cgi, warnings
from webob.headers import _trans_key
from webob.compat import string_types
from webob.compat import text_type
+from webob.compat import text_
def html_escape(s):
"""HTML-escape a string or object
@@ -25,7 +26,7 @@ def html_escape(s):
s = cgi.escape(s, True)
if isinstance(s, text_type):
s = s.encode('ascii', 'xmlcharrefreplace')
- return s
+ return text_(s)
def header_docstring(header, rfc_section):
if header.isupper():