diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1eb0a7df1..af8ab8b6f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,7 +14,7 @@ repos: hooks: - id: doc8 - repo: https://github.com/adamchainz/django-upgrade - rev: 1.16.0 + rev: 1.17.0 hooks: - id: django-upgrade args: [--target-version, "4.2"] @@ -32,7 +32,7 @@ repos: args: - --trailing-comma=es5 - repo: https://github.com/pre-commit/mirrors-eslint - rev: v9.0.0 + rev: v9.3.0 hooks: - id: eslint additional_dependencies: @@ -44,16 +44,16 @@ repos: args: - --fix - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.3.7' + rev: 'v0.4.5' hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - id: ruff-format - repo: https://github.com/tox-dev/pyproject-fmt - rev: 1.7.0 + rev: 2.1.3 hooks: - id: pyproject-fmt - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.16 + rev: v0.18 hooks: - id: validate-pyproject diff --git a/README.rst b/README.rst index c9a25ce1e..31c8a6f59 100644 --- a/README.rst +++ b/README.rst @@ -44,7 +44,7 @@ Here's a screenshot of the toolbar in action: In addition to the built-in panels, a number of third-party panels are contributed by the community. -The current stable version of the Debug Toolbar is 4.4.1. It works on +The current stable version of the Debug Toolbar is 4.4.2. It works on Django ≥ 4.2.0. The Debug Toolbar does not currently support `Django's asynchronous views diff --git a/debug_toolbar/__init__.py b/debug_toolbar/__init__.py index 45faf6d47..003f26cda 100644 --- a/debug_toolbar/__init__.py +++ b/debug_toolbar/__init__.py @@ -4,7 +4,7 @@ # Do not use pkg_resources to find the version but set it here directly! # see issue #1446 -VERSION = "4.4.1" +VERSION = "4.4.2" # Code that discovers files or modules in INSTALLED_APPS imports this module. urls = "debug_toolbar.urls", APP_NAME diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 38cf92884..0513e2379 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -20,7 +20,7 @@ def show_toolbar(request): """ Default function to determine whether to show the toolbar on a given page. """ - internal_ips = settings.INTERNAL_IPS.copy() + internal_ips = list(settings.INTERNAL_IPS) try: # This is a hack for docker installations. It attempts to look diff --git a/debug_toolbar/panels/templates/panel.py b/debug_toolbar/panels/templates/panel.py index c0c6246b2..81d7e5fad 100644 --- a/debug_toolbar/panels/templates/panel.py +++ b/debug_toolbar/panels/templates/panel.py @@ -158,7 +158,7 @@ def process_context_list(self, context_layers): f"<<{value.__class__.__name__.lower()} of {value.model._meta.label}>>" ) else: - token = allow_sql.set(False) # noqa: FBT003 + token = allow_sql.set(False) try: saferepr(value) # this MAY trigger a db query except SQLQueryTriggered: diff --git a/debug_toolbar/static/debug_toolbar/css/toolbar.css b/debug_toolbar/static/debug_toolbar/css/toolbar.css index 170cc3d5f..e028a67b7 100644 --- a/debug_toolbar/static/debug_toolbar/css/toolbar.css +++ b/debug_toolbar/static/debug_toolbar/css/toolbar.css @@ -11,7 +11,6 @@ monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - color-scheme: light; --djdt-font-color: black; --djdt-background-color: white; --djdt-panel-content-background-color: #eee; @@ -35,7 +34,6 @@ @media (prefers-color-scheme: dark) { :root { - color-scheme: dark; --djdt-font-color: #8393a7; --djdt-background-color: #1e293bff; --djdt-panel-content-background-color: #0f1729ff; @@ -58,7 +56,6 @@ } #djDebug[data-theme="dark"] { - color-scheme: dark; --djdt-font-color: #8393a7; --djdt-background-color: #1e293bff; --djdt-panel-content-background-color: #0f1729ff; diff --git a/docs/changes.rst b/docs/changes.rst index 84821c56b..a0215d09c 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -4,6 +4,14 @@ Change log Pending ------- +4.4.2 (2024-05-27) +------------------ + +* Removed some CSS which wasn't carefully limited to the toolbar's elements. +* Stopped assuming that ``INTERNAL_IPS`` is a list. +* Added a section to the installation docs about running tests in projects + where the toolbar is being used. + 4.4.1 (2024-05-26) ------------------ diff --git a/docs/conf.py b/docs/conf.py index 512455e39..2e3a527a1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -25,7 +25,7 @@ copyright = copyright.format(datetime.date.today().year) # The full version, including alpha/beta/rc tags -release = "4.4.1" +release = "4.4.2" # -- General configuration --------------------------------------------------- diff --git a/docs/configuration.rst b/docs/configuration.rst index 7db7ad41e..04694aceb 100644 --- a/docs/configuration.rst +++ b/docs/configuration.rst @@ -72,6 +72,8 @@ Toolbar options The toolbar searches for this string in the HTML and inserts itself just before. +.. _IS_RUNNING_TESTS: + * ``IS_RUNNING_TESTS`` Default: ``"test" in sys.argv`` diff --git a/docs/installation.rst b/docs/installation.rst index 3644bdd5c..657450fac 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -156,6 +156,39 @@ option. able to get the toolbar to work with your docker installation, review the code in ``debug_toolbar.middleware.show_toolbar``. +7. Disable the toolbar when running tests (optional) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you're running tests in your project you shouldn't activate the toolbar. You +can do this by adding another setting: + +.. code-block:: python + + TESTING = "test" in sys.argv + + if not TESTING: + INSTALLED_APPS = [ + *INSTALLED_APPS, + "debug_toolbar", + ] + MIDDLEWARE = [ + "debug_toolbar.middleware.DebugToolbarMiddleware", + *MIDDLEWARE, + ] + +You should also modify your URLconf file: + +.. code-block:: python + + if not settings.TESTING: + urlpatterns = [ + *urlpatterns, + path("__debug__/", include("debug_toolbar.urls")), + ] + +Alternatively, you can check out the :ref:`IS_RUNNING_TESTS ` +option. + Troubleshooting --------------- diff --git a/pyproject.toml b/pyproject.toml index f44d5188e..6060a055f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,9 +8,9 @@ requires = [ name = "django-debug-toolbar" description = "A configurable set of panels that display various debug information about the current request/response." readme = "README.rst" -license = {text = "BSD-3-Clause"} +license = { text = "BSD-3-Clause" } authors = [ - { name = "Rob Hudson" }, + { name = "Rob Hudson" }, ] requires-python = ">=3.8" classifiers = [ @@ -35,19 +35,20 @@ dynamic = [ "version", ] dependencies = [ - "Django>=4.2.9", + "django>=4.2.9", "sqlparse>=0.2", ] -[project.urls] -Download = "https://pypi.org/project/django-debug-toolbar/" -Homepage = "https://github.com/jazzband/django-debug-toolbar" +urls.Download = "https://pypi.org/project/django-debug-toolbar/" +urls.Homepage = "https://github.com/jazzband/django-debug-toolbar" [tool.hatch.build.targets.sdist] # Jazzband's release process is limited to 2.2 metadata core-metadata-version = "2.2" [tool.hatch.build.targets.wheel] -packages = ["debug_toolbar"] +packages = [ + "debug_toolbar", +] # Jazzband's release process is limited to 2.2 metadata core-metadata-version = "2.2" @@ -55,12 +56,11 @@ core-metadata-version = "2.2" path = "debug_toolbar/__init__.py" [tool.ruff] -fix = true -show-fixes = true target-version = "py38" -[tool.ruff.lint] -extend-select = [ +fix = true +show-fixes = true +lint.extend-select = [ "ASYNC", # flake8-async "B", # flake8-bugbear "C4", # flake8-comprehensions @@ -79,23 +79,18 @@ extend-select = [ "UP", # pyupgrade "W", # pycodestyle warnings ] -extend-ignore = [ +lint.extend-ignore = [ "B905", # Allow zip() without strict= "E501", # Ignore line length violations "SIM108", # Use ternary operator instead of if-else-block + "UP031", # It's not always wrong to use percent-formatting ] - -[tool.ruff.lint.isort] -combine-as-imports = true - -[tool.ruff.lint.mccabe] -max-complexity = 16 - -[tool.ruff.lint.per-file-ignores] -"*/migrat*/*" = [ - "N806", # Allow using PascalCase model names in migrations - "N999", # Ignore the fact that migration files are invalid module names +lint.per-file-ignores."*/migrat*/*" = [ + "N806", # Allow using PascalCase model names in migrations + "N999", # Ignore the fact that migration files are invalid module names ] +lint.isort.combine-as-imports = true +lint.mccabe.max-complexity = 16 [tool.coverage.html] skip_covered = true @@ -104,10 +99,15 @@ skip_empty = true [tool.coverage.run] branch = true parallel = true -source = ["debug_toolbar"] +source = [ + "debug_toolbar", +] [tool.coverage.paths] -source = ["src", ".tox/*/site-packages"] +source = [ + "src", + ".tox/*/site-packages", +] [tool.coverage.report] # Update coverage badge link in README.rst when fail_under changes diff --git a/tests/panels/test_sql.py b/tests/panels/test_sql.py index 932a0dd92..48c9e3845 100644 --- a/tests/panels/test_sql.py +++ b/tests/panels/test_sql.py @@ -126,7 +126,7 @@ async def test_cursor_wrapper_asyncio_ctx(self, mock_patch_cursor_wrapper): await sync_to_async(sql_call)() async def task(): - sql_tracking.allow_sql.set(False) # noqa: FBT003 + sql_tracking.allow_sql.set(False) # By disabling sql_tracking.allow_sql, we are indicating that any # future SQL queries should be stopped. If SQL query occurs, # it raises an exception. pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy