From 70488fc14a387cfcae6c48811ea4b6ce68564fef Mon Sep 17 00:00:00 2001 From: Matt Good Date: Tue, 14 Jan 2014 17:56:47 -0800 Subject: [PATCH] Fix Py3 support for bytes SQL queries Fixes #64 --- flask_debugtoolbar/panels/sqlalchemy.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/flask_debugtoolbar/panels/sqlalchemy.py b/flask_debugtoolbar/panels/sqlalchemy.py index d3bbd2d..7be8cad 100644 --- a/flask_debugtoolbar/panels/sqlalchemy.py +++ b/flask_debugtoolbar/panels/sqlalchemy.py @@ -21,8 +21,13 @@ def query_signer(): salt='fdt-sql-query') +def is_select(statement): + prefix = b'select' if isinstance(statement, bytes) else 'select' + return statement.lower().strip().startswith(prefix) + + def dump_query(statement, params): - if not params or not statement.lower().strip().startswith('select'): + if not params or not is_select(statement): return None try: @@ -38,7 +43,7 @@ def load_query(data): abort(406) # Make sure it is a select statement - if not statement.lower().strip().startswith('select'): + if not is_select(statement): abort(406) return statement, params