diff options
Diffstat (limited to 'django/utils/encoding.py')
| -rw-r--r-- | django/utils/encoding.py | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/django/utils/encoding.py b/django/utils/encoding.py index d9b59448a9..6b246ac59b 100644 --- a/django/utils/encoding.py +++ b/django/utils/encoding.py @@ -1,4 +1,3 @@ -import types import urllib import locale import datetime @@ -45,7 +44,7 @@ def is_protected_type(obj): force_unicode(strings_only=True). """ return isinstance(obj, ( - types.NoneType, + type(None), int, long, datetime.datetime, datetime.date, datetime.time, float, Decimal) @@ -107,7 +106,7 @@ def smart_str(s, encoding='utf-8', strings_only=False, errors='strict'): If strings_only is True, don't convert (some) non-string-like objects. """ - if strings_only and isinstance(s, (types.NoneType, int)): + if strings_only and (s is None or isinstance(s, int)): return s if isinstance(s, Promise): return unicode(s).encode(encoding, errors) @@ -154,7 +153,7 @@ def iri_to_uri(iri): # converted. if iri is None: return iri - return urllib.quote(smart_str(iri), safe="/#%[]=:;$&()+,!?*@'~") + return urllib.quote(smart_str(iri), safe=b"/#%[]=:;$&()+,!?*@'~") def filepath_to_uri(path): """Convert an file system path to a URI portion that is suitable for @@ -173,7 +172,7 @@ def filepath_to_uri(path): return path # I know about `os.sep` and `os.altsep` but I want to leave # some flexibility for hardcoding separators. - return urllib.quote(smart_str(path).replace("\\", "/"), safe="/~!*()'") + return urllib.quote(smart_str(path).replace("\\", "/"), safe=b"/~!*()'") # The encoding of the default system locale but falls back to the # given fallback encoding if the encoding is unsupported by python or could |
