diff options
| author | David Cramer | 2013-02-20 13:42:06 -0800 |
|---|---|---|
| committer | David Cramer | 2013-02-20 13:42:06 -0800 |
| commit | 090acab49e07a09c678a510a812a97724bdaf2a5 (patch) | |
| tree | 0397b97da7e78ad946071b8390f174b0d6e9c55e | |
| parent | 21d162c3232a8b49c053e06c3cc27b17776d8ccb (diff) | |
| download | django-debug-toolbar-090acab49e07a09c678a510a812a97724bdaf2a5.tar.bz2 | |
Improvements for decoding params for recording
| -rw-r--r-- | debug_toolbar/utils/tracking/db.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/debug_toolbar/utils/tracking/db.py b/debug_toolbar/utils/tracking/db.py index d898b31..db9974e 100644 --- a/debug_toolbar/utils/tracking/db.py +++ b/debug_toolbar/utils/tracking/db.py @@ -91,8 +91,12 @@ class NormalCursorWrapper(object): for key, value in params.iteritems()) return map(self._quote_expr, params) + def _decode(self, param): + if isinstance(param, unicode): + return param.decode('utf-8', 'ignore') + return param + def execute(self, sql, params=()): - __traceback_hide__ = True start = datetime.now() try: return self.cursor.execute(sql, params) @@ -107,10 +111,8 @@ class NormalCursorWrapper(object): stacktrace = [] _params = '' try: - _params = json.dumps( - [force_unicode(x, strings_only=True) for x in params] - ) - except TypeError: + _params = json.dumps(map(self._decode, params)) + except Exception: pass # object not JSON serializable template_info = None |
