From edd871bd37833fff7c5964896299999ce6da8e1c Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Wed, 16 Oct 2013 23:08:03 +0200 Subject: Switch from str & unicode to bytes & text. --- debug_toolbar/forms.py | 4 ++-- debug_toolbar/middleware.py | 6 +++--- debug_toolbar/utils/__init__.py | 3 ++- debug_toolbar/utils/tracking/db.py | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/debug_toolbar/forms.py b/debug_toolbar/forms.py index aad308a..60d339c 100644 --- a/debug_toolbar/forms.py +++ b/debug_toolbar/forms.py @@ -6,7 +6,7 @@ import hashlib from django import forms from django.conf import settings from django.db import connections -from django.utils.encoding import smart_str +from django.utils.encoding import smart_bytes from django.utils.functional import cached_property from django.core.exceptions import ValidationError @@ -77,7 +77,7 @@ class SQLSelectForm(forms.Form): def make_hash(self, data): params = settings.SECRET_KEY + data['sql'] + data['params'] - return hashlib.sha1(smart_str(params)).hexdigest() + return hashlib.sha1(smart_bytes(params)).hexdigest() @property def connection(self): diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 82f83da..520a81e 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -10,7 +10,7 @@ import threading from django.conf import settings from django.http import HttpResponseRedirect from django.shortcuts import render_to_response -from django.utils.encoding import smart_unicode +from django.utils.encoding import force_text from django.utils.importlib import import_module import debug_toolbar.urls @@ -138,9 +138,9 @@ class DebugToolbarMiddleware(object): for panel in toolbar.panels: panel.process_response(request, response) response.content = replace_insensitive( - smart_unicode(response.content), + force_text(response.content), self.tag, - smart_unicode(toolbar.render_toolbar() + self.tag)) + force_text(toolbar.render_toolbar() + self.tag)) if response.get('Content-Length', None): response['Content-Length'] = len(response.content) del self.__class__.debug_toolbars[ident] diff --git a/debug_toolbar/utils/__init__.py b/debug_toolbar/utils/__init__.py index fa8c78a..7efb106 100644 --- a/debug_toolbar/utils/__init__.py +++ b/debug_toolbar/utils/__init__.py @@ -10,6 +10,7 @@ from django.conf import settings from django.views.debug import linebreak_iter from django.utils.html import escape from django.utils.safestring import mark_safe +from django.utils import six # Figure out some paths django_path = os.path.realpath(os.path.dirname(django.__file__)) @@ -58,7 +59,7 @@ def render_stacktrace(trace): stacktrace = [] for frame in trace: params = map(escape, frame[0].rsplit(os.path.sep, 1) + list(frame[1:])) - params_dict = dict((unicode(idx), v) for idx, v in enumerate(params)) + params_dict = dict((six.text_type(idx), v) for idx, v in enumerate(params)) try: stacktrace.append('%(0)s/' '%(1)s' diff --git a/debug_toolbar/utils/tracking/db.py b/debug_toolbar/utils/tracking/db.py index 59c9199..34adfae 100644 --- a/debug_toolbar/utils/tracking/db.py +++ b/debug_toolbar/utils/tracking/db.py @@ -8,7 +8,7 @@ from threading import local from django.conf import settings from django.template import Node -from django.utils.encoding import force_unicode +from django.utils.encoding import force_text from debug_toolbar.utils import ms_from_timedelta, tidy_stacktrace, \ get_template_info, get_stack @@ -88,7 +88,7 @@ class NormalCursorWrapper(object): def _decode(self, param): try: - return force_unicode(param, strings_only=True) + return force_text(param, strings_only=True) except UnicodeDecodeError: return '(encoded string)' -- cgit v1.2.3