aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/utils/sql.py
diff options
context:
space:
mode:
authorJannis Leidel2013-04-24 02:51:17 -0700
committerJannis Leidel2013-04-24 02:51:17 -0700
commit1390c405f6718dc44169503176f610f194fe6d41 (patch)
tree70466742c10a71b0164972112bf528a527ada90f /debug_toolbar/utils/sql.py
parent49c09c0b9afb588fa3cde047075331ea81d18a55 (diff)
parentf6b515f71aea595c303d287f121a34ec31c4784c (diff)
downloaddjango-debug-toolbar-1390c405f6718dc44169503176f610f194fe6d41.tar.bz2
Merge pull request #347 from midiotthimble/sql-panel-refactor
Request Line is too large (400) sometimes
Diffstat (limited to 'debug_toolbar/utils/sql.py')
-rw-r--r--debug_toolbar/utils/sql.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/debug_toolbar/utils/sql.py b/debug_toolbar/utils/sql.py
new file mode 100644
index 0000000..909edf7
--- /dev/null
+++ b/debug_toolbar/utils/sql.py
@@ -0,0 +1,15 @@
+import re
+from debug_toolbar.utils import sqlparse
+from debug_toolbar.utils.sqlparse.filters import BoldKeywordFilter
+
+
+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)))
+
+
+def swap_fields(sql):
+ return re.sub('SELECT</strong> (.*?) <strong>FROM', 'SELECT</strong> <a class="djDebugUncollapsed djDebugToggle" href="#">&bull;&bull;&bull;</a> ' +
+ '<a class="djDebugCollapsed djDebugToggle" href="#">\g<1></a> <strong>FROM', sql)