diff --git a/example/example.py b/example/example.py index 3942f61..51f913d 100644 --- a/example/example.py +++ b/example/example.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import sys sys.path.insert(0, '.') @@ -22,16 +23,19 @@ db = SQLAlchemy(app) toolbar = DebugToolbarExtension(app) + class ExampleModel(db.Model): __tablename__ = 'examples' value = db.Column(db.String(100), primary_key=True) + @app.route('/') def index(): app.logger.info("Hello there") ExampleModel.query.get(1) return render_template('index.html') + @app.route('/redirect') def redirect_example(): @@ -44,4 +48,3 @@ if __name__ == "__main__": manager = Manager(app) manager.run() - diff --git a/flask_debugtoolbar/__init__.py b/flask_debugtoolbar/__init__.py index 8bda88e..a28f8c8 100644 --- a/flask_debugtoolbar/__init__.py +++ b/flask_debugtoolbar/__init__.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import os from flask import current_app, request, g @@ -17,13 +18,14 @@ module = Blueprint('debugtoolbar', __name__) def replace_insensitive(string, target, replacement): """Similar to string.replace() but is case insensitive - Code borrowed from: http://forums.devshed.com/python-programming-11/case-insensitive-string-replace-490921.html + Code borrowed from: + http://forums.devshed.com/python-programming-11/case-insensitive-string-replace-490921.html """ no_case = string.lower() index = no_case.rfind(target.lower()) if index >= 0: return string[:index] + replacement + string[index + len(target):] - else: # no results so return the original string + else: # no results so return the original string return string @@ -79,7 +81,7 @@ class DebugToolbarExtension(object): app.dispatch_request = self.dispatch_request app.add_url_rule('/_debug_toolbar/static/', - '_debug_toolbar.static', self.send_static_file) + '_debug_toolbar.static', self.send_static_file) app.register_blueprint(module, url_prefix='/_debug_toolbar/views') @@ -171,7 +173,7 @@ class DebugToolbarExtension(object): # link to the target. if current_app.config['DEBUG_TB_INTERCEPT_REDIRECTS']: if (response.status_code in self._redirect_codes and - not real_request.is_xhr): + not real_request.is_xhr): redirect_to = response.location redirect_code = response.status_code if redirect_to: @@ -186,8 +188,8 @@ class DebugToolbarExtension(object): # If the http response code is 200 then we process to add the # toolbar to the returned html response. - if (response.status_code == 200 - and response.headers['content-type'].startswith('text/html')): + if (response.status_code == 200 and + response.headers['content-type'].startswith('text/html')): for panel in self.debug_toolbars[real_request].panels: panel.process_response(real_request, response) diff --git a/flask_debugtoolbar/compat.py b/flask_debugtoolbar/compat.py index 7db9953..326277f 100644 --- a/flask_debugtoolbar/compat.py +++ b/flask_debugtoolbar/compat.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import sys PY2 = sys.version_info[0] == 2 @@ -6,4 +7,4 @@ PY2 = sys.version_info[0] == 2 if PY2: iteritems = lambda d: d.iteritems() else: - iteritems = lambda d: iter(d.items()) \ No newline at end of file + iteritems = lambda d: iter(d.items()) diff --git a/flask_debugtoolbar/panels/__init__.py b/flask_debugtoolbar/panels/__init__.py index b90a7ee..2d0a350 100644 --- a/flask_debugtoolbar/panels/__init__.py +++ b/flask_debugtoolbar/panels/__init__.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- """Base DebugPanel class""" class DebugPanel(object): diff --git a/flask_debugtoolbar/panels/config_vars.py b/flask_debugtoolbar/panels/config_vars.py index 6a549e9..e61b2a6 100644 --- a/flask_debugtoolbar/panels/config_vars.py +++ b/flask_debugtoolbar/panels/config_vars.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from flask import current_app from flask_debugtoolbar.panels import DebugPanel _ = lambda x: x diff --git a/flask_debugtoolbar/panels/headers.py b/flask_debugtoolbar/panels/headers.py index 0b37acd..9815039 100644 --- a/flask_debugtoolbar/panels/headers.py +++ b/flask_debugtoolbar/panels/headers.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from flask_debugtoolbar.panels import DebugPanel _ = lambda x: x diff --git a/flask_debugtoolbar/panels/logger.py b/flask_debugtoolbar/panels/logger.py index 2d08d9d..b01d3ae 100644 --- a/flask_debugtoolbar/panels/logger.py +++ b/flask_debugtoolbar/panels/logger.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from __future__ import with_statement import datetime @@ -12,13 +13,14 @@ from flask_debugtoolbar.utils import format_fname _ = lambda x: x + class ThreadTrackingHandler(logging.Handler): def __init__(self): if threading is None: raise NotImplementedError("threading module is not available, \ the logging panel cannot be used without it") logging.Handler.__init__(self) - self.records = {} # a dictionary that maps threads to log records + self.records = {} # a dictionary that maps threads to log records def emit(self, record): self.get_records().append(record) @@ -87,7 +89,8 @@ class LoggingPanel(DebugPanel): def nav_subtitle(self): # FIXME l10n: use ngettext - return "%s message%s" % (len(handler.get_records()), (len(handler.get_records()) == 1) and '' or 's') + return "%s message%s" % \ + (len(handler.get_records()), (len(handler.get_records()) == 1) and '' or 's') def title(self): return _('Log Messages') @@ -111,5 +114,3 @@ class LoggingPanel(DebugPanel): context.update({'records': records}) return self.render('panels/logger.html', context) - - diff --git a/flask_debugtoolbar/panels/profiler.py b/flask_debugtoolbar/panels/profiler.py index e8e9e35..8f038e7 100644 --- a/flask_debugtoolbar/panels/profiler.py +++ b/flask_debugtoolbar/panels/profiler.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import sys try: import cProfile as profile @@ -118,6 +119,3 @@ class ProfilerDebugPanel(DebugPanel): 'function_calls': self.function_calls, } return self.render('panels/profiler.html', context) - - - diff --git a/flask_debugtoolbar/panels/request_vars.py b/flask_debugtoolbar/panels/request_vars.py index e02305d..a929ac9 100644 --- a/flask_debugtoolbar/panels/request_vars.py +++ b/flask_debugtoolbar/panels/request_vars.py @@ -1,9 +1,11 @@ +# -*- coding: utf-8 -*- from flask import session from flask_debugtoolbar.panels import DebugPanel _ = lambda x: x + class RequestVarsDebugPanel(DebugPanel): """ A panel to display request variables (POST/GET, session, cookies). @@ -37,11 +39,11 @@ class RequestVarsDebugPanel(DebugPanel): 'get': [(k, self.request.args.getlist(k)) for k in self.request.args], 'post': [(k, self.request.form.getlist(k)) for k in self.request.form], 'cookies': [(k, self.request.cookies.get(k)) for k in self.request.cookies], - 'view_func': '%s.%s' % (self.view_func.__module__, self.view_func.__name__) if self.view_func else '[unknown]', + 'view_func': ('%s.%s' % (self.view_func.__module__, self.view_func.__name__) + if self.view_func else '[unknown]'), 'view_args': self.view_args, 'view_kwargs': self.view_kwargs or {}, 'session': self.session.items(), }) return self.render('panels/request_vars.html', context) - diff --git a/flask_debugtoolbar/panels/sqlalchemy.py b/flask_debugtoolbar/panels/sqlalchemy.py index eb0b06e..7dee84b 100644 --- a/flask_debugtoolbar/panels/sqlalchemy.py +++ b/flask_debugtoolbar/panels/sqlalchemy.py @@ -1,4 +1,4 @@ - +# -*- coding: utf-8 -*- try: from flask.ext.sqlalchemy import get_debug_queries, SQLAlchemy except ImportError: @@ -51,11 +51,10 @@ class SQLAlchemyDebugPanel(DebugPanel): """ name = 'SQLAlchemy' - @property def has_content(self): if not json_available or not sqlalchemy_available: - return True # will display an error message + return True # will display an error message return bool(get_debug_queries()) def process_request(self, request): @@ -101,10 +100,11 @@ class SQLAlchemyDebugPanel(DebugPanel): 'context_long': query.context, 'context': format_fname(query.context) }) - return self.render('panels/sqlalchemy.html', { 'queries': data}) + return self.render('panels/sqlalchemy.html', {'queries': data}) # Panel views + @module.route('/sqlalchemy/sql_select', methods=['GET', 'POST']) def sql_select(): statement, params = load_query(request.args['query']) @@ -118,6 +118,7 @@ def sql_select(): 'duration': float(request.args['duration']), }) + @module.route('/sqlalchemy/sql_explain', methods=['GET', 'POST']) def sql_explain(): statement, params = load_query(request.args['query']) diff --git a/flask_debugtoolbar/panels/template.py b/flask_debugtoolbar/panels/template.py index 4075954..14d6e62 100644 --- a/flask_debugtoolbar/panels/template.py +++ b/flask_debugtoolbar/panels/template.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import collections import json import sys @@ -5,7 +6,10 @@ import traceback import uuid from jinja2.exceptions import TemplateSyntaxError -from flask import template_rendered, request, g, render_template_string, Response, current_app, abort, url_for +from flask import ( + template_rendered, request, g, render_template_string, + Response, current_app, abort, url_for +) from flask_debugtoolbar import module from flask_debugtoolbar.panels import DebugPanel diff --git a/flask_debugtoolbar/panels/timer.py b/flask_debugtoolbar/panels/timer.py index e6a54b5..8f29a6a 100644 --- a/flask_debugtoolbar/panels/timer.py +++ b/flask_debugtoolbar/panels/timer.py @@ -1,18 +1,20 @@ +# -*- coding: utf-8 -*- try: import resource except ImportError: - pass # Will fail on Win32 systems + pass # Will fail on Win32 systems import time from flask_debugtoolbar.panels import DebugPanel _ = lambda x: x + class TimerDebugPanel(DebugPanel): """ Panel that displays the time a response took in milliseconds. """ name = 'Timer' - try: # if resource module not available, don't show content panel + try: # if resource module not available, don't show content panel resource except NameError: has_content = False @@ -91,4 +93,3 @@ class TimerDebugPanel(DebugPanel): }) return self.render('panels/timer.html', context) - diff --git a/flask_debugtoolbar/panels/versions.py b/flask_debugtoolbar/panels/versions.py index 6ecb1ea..07150d8 100644 --- a/flask_debugtoolbar/panels/versions.py +++ b/flask_debugtoolbar/panels/versions.py @@ -1,8 +1,10 @@ +# -*- coding: utf-8 -*- from flask import __version__ as flask_version from flask_debugtoolbar.panels import DebugPanel _ = lambda x: x + class VersionDebugPanel(DebugPanel): """ Panel that displays the Flask version. @@ -24,5 +26,3 @@ class VersionDebugPanel(DebugPanel): def content(self): return None - - diff --git a/flask_debugtoolbar/toolbar.py b/flask_debugtoolbar/toolbar.py index a1fba83..9d39962 100644 --- a/flask_debugtoolbar/toolbar.py +++ b/flask_debugtoolbar/toolbar.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- try: from urllib.parse import unquote except ImportError: diff --git a/flask_debugtoolbar/utils.py b/flask_debugtoolbar/utils.py index 3f42c6a..f2b0324 100644 --- a/flask_debugtoolbar/utils.py +++ b/flask_debugtoolbar/utils.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- import os.path import sys diff --git a/test/basic_app.py b/test/basic_app.py index eef5e8a..4e9d7a3 100644 --- a/test/basic_app.py +++ b/test/basic_app.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from flask import Flask, render_template from flask_debugtoolbar import DebugToolbarExtension @@ -14,4 +15,4 @@ toolbar = DebugToolbarExtension(app) @app.route('/') def index(): - return render_template('basic_app.html') \ No newline at end of file + return render_template('basic_app.html') diff --git a/test/test_toolbar.py b/test/test_toolbar.py index c14c846..ccbab60 100644 --- a/test/test_toolbar.py +++ b/test/test_toolbar.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- def load_app(name): app = __import__(name).app app.config['TESTING'] = True