mirror of
https://github.com/pallets-eco/flask-debugtoolbar.git
synced 2026-01-06 05:30:12 -06:00
- 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
62 lines
1.5 KiB
Python
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
|
|
|
|
|