Files
flask-debugtoolbar/flask_debugtoolbar/panels/__init__.py
Michael van Tellingen 1c594b9ba3 Attempt to fix the flask-debugtoolbar:
- Rename the package to flask_debugtoolbar
 - Fix importing of the panels so that the views in the panels are correctly registered in the blueprint


There is still one major problem in the sqlalchemy panel where we are not able to get the SQLAlchemy reference
2011-10-17 21:27:51 +02:00

62 lines
1.5 KiB
Python

"""Base DebugPanel class"""
class DebugPanel(object):
"""
Base class for debug panels.
"""
# name = Base
has_content = False # If content returns something, set to true in subclass
# If the client is able to activate/de-activate the panel
user_enable = False
# We'll maintain a local context instance so we can expose our template
# context variables to panels which need them:
context = {}
# Panel methods
def __init__(self, jinja_env, context={}):
self.context.update(context)
self.jinja_env = jinja_env
# If the client enabled the panel
self.is_active = False
def render(self, template_name, context):
template = self.jinja_env.get_template(template_name)
return template.render(**context)
def dom_id(self):
return 'flDebug%sPanel' % (self.name.replace(' ', ''))
def nav_title(self):
"""Title showing in toolbar"""
raise NotImplementedError
def nav_subtitle(self):
"""Subtitle showing until title in toolbar"""
return ''
def title(self):
"""Title showing in panel"""
raise NotImplementedError
def url(self):
raise NotImplementedError
def content(self):
raise NotImplementedError
# Standard middleware methods
def process_request(self, request):
pass
def process_view(self, request, view_func, view_kwargs):
pass
def process_response(self, request, response):
pass