diff options
| author | Vladislav Poluhin | 2013-04-24 11:14:34 +0800 |
|---|---|---|
| committer | Vladislav Poluhin | 2013-04-24 11:14:34 +0800 |
| commit | 3d0467d9a4394c4b994a802e6e861ff2562dbb2b (patch) | |
| tree | 0b2aefc7b73ffbbe94e2505bbac01e31d99c2166 /debug_toolbar/panels | |
| parent | e85dfe8ef37d6d99ee482fbd9ac3375ee86253ac (diff) | |
| download | django-debug-toolbar-3d0467d9a4394c4b994a802e6e861ff2562dbb2b.tar.bz2 | |
Got rid of the circular imports
Diffstat (limited to 'debug_toolbar/panels')
| -rw-r--r-- | debug_toolbar/panels/sql.py | 30 |
1 files changed, 2 insertions, 28 deletions
diff --git a/debug_toolbar/panels/sql.py b/debug_toolbar/panels/sql.py index e434014..74729c7 100644 --- a/debug_toolbar/panels/sql.py +++ b/debug_toolbar/panels/sql.py @@ -1,16 +1,15 @@ -import re import uuid from copy import copy from django.db.backends import BaseDatabaseWrapper -from django.utils.html import escape from django.utils.translation import ugettext_lazy as _, ungettext_lazy as __ from debug_toolbar.forms import SQLSelectForm from debug_toolbar.utils.compat.db import connections from debug_toolbar.middleware import DebugToolbarMiddleware from debug_toolbar.panels import DebugPanel -from debug_toolbar.utils import sqlparse, render_stacktrace +from debug_toolbar.utils import render_stacktrace +from debug_toolbar.utils.sql import reformat_sql from debug_toolbar.utils.tracking.db import CursorWrapper from debug_toolbar.utils.tracking import replace_call @@ -198,28 +197,3 @@ class SQLDebugPanel(DebugPanel): 'queries': [q for a, q in self._queries], 'sql_time': self._sql_time, }) - - -class BoldKeywordFilter(sqlparse.filters.Filter): - """sqlparse filter to bold SQL keywords""" - def process(self, stack, stream): - """Process the token stream""" - for token_type, value in stream: - is_keyword = token_type in sqlparse.tokens.Keyword - if is_keyword: - yield sqlparse.tokens.Text, '<strong>' - yield token_type, escape(value) - if is_keyword: - yield sqlparse.tokens.Text, '</strong>' - - -def swap_fields(sql): - return re.sub('SELECT</strong> (.*?) <strong>FROM', 'SELECT</strong> <a class="djDebugUncollapsed djDebugToggle" href="#">•••</a> ' + - '<a class="djDebugCollapsed djDebugToggle" href="#">\g<1></a> <strong>FROM', sql) - - -def reformat_sql(sql): - stack = sqlparse.engine.FilterStack() - stack.preprocess.append(BoldKeywordFilter()) # add our custom filter - stack.postprocess.append(sqlparse.filters.SerializerUnicode()) # tokens -> strings - return swap_fields(''.join(stack.run(sql))) |
