Skip to content

Commit

Permalink
Run updated ruff config on all files
Browse files Browse the repository at this point in the history
  • Loading branch information
robhudson committed Jul 1, 2024
1 parent d38dbeb commit 71afcf5
Show file tree
Hide file tree
Showing 15 changed files with 33 additions and 22 deletions.
2 changes: 1 addition & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ CHANGES
=======

Unreleased
===========
==========
- Add type hints. ([#228](https://github.com/mozilla/django-csp/pull/228))

4.0b1
Expand Down
4 changes: 3 additions & 1 deletion csp/checks.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from __future__ import annotations

import pprint
from typing import Dict, Tuple, Any, Optional, Sequence, TYPE_CHECKING, List
from collections.abc import Sequence
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple

from django.conf import settings
from django.core.checks import Error
Expand Down
3 changes: 2 additions & 1 deletion csp/context_processors.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from __future__ import annotations
from typing import Dict, Literal, TYPE_CHECKING

from typing import TYPE_CHECKING, Dict, Literal

if TYPE_CHECKING:
from django.http import HttpRequest
Expand Down
3 changes: 2 additions & 1 deletion csp/contrib/rate_limiting.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations
from typing import TYPE_CHECKING

import random
from typing import TYPE_CHECKING

from django.conf import settings

Expand Down
3 changes: 2 additions & 1 deletion csp/extensions/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from __future__ import annotations
from typing import Callable, TYPE_CHECKING, Any

from typing import TYPE_CHECKING, Any, Callable

from jinja2 import nodes
from jinja2.ext import Extension
Expand Down
1 change: 1 addition & 0 deletions csp/middleware.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from __future__ import annotations

import base64
import http.client as http_client
import os
Expand Down
6 changes: 4 additions & 2 deletions csp/templatetags/csp.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
from __future__ import annotations

from typing import TYPE_CHECKING, Optional

from django import template
from django.template.base import token_kwargs

from csp.utils import build_script_tag

if TYPE_CHECKING:
from django.template.base import NodeList, FilterExpression, Token, Parser
from django.template.base import FilterExpression, NodeList, Parser, Token
from django.template.context import Context

register = template.Library()
Expand All @@ -18,7 +20,7 @@ def _unquote(s: str) -> str:


@register.tag(name="script")
def script(parser: Parser, token: Token) -> "NonceScriptNode":
def script(parser: Parser, token: Token) -> NonceScriptNode:
# Parse out any keyword args
token_args = token.split_contents()
kwargs = token_kwargs(token_args[1:], parser)
Expand Down
3 changes: 2 additions & 1 deletion csp/tests/environment.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from jinja2 import Environment
from typing import Any

from jinja2 import Environment


def environment(**options: Any) -> Environment:
env = Environment(**options)
Expand Down
1 change: 0 additions & 1 deletion csp/tests/settings.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from csp.constants import NONCE, SELF


CONTENT_SECURITY_POLICY = {
"DIRECTIVES": {
"default-src": [SELF, NONCE],
Expand Down
4 changes: 3 additions & 1 deletion csp/tests/test_decorators.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
from __future__ import annotations

from typing import TYPE_CHECKING

import pytest
from django.http import HttpResponse
from django.test import RequestFactory
from django.test.utils import override_settings

import pytest

from csp.constants import HEADER, HEADER_REPORT_ONLY, NONCE
from csp.decorators import csp, csp_exempt, csp_replace, csp_update
from csp.middleware import CSPMiddleware
Expand Down
2 changes: 1 addition & 1 deletion csp/tests/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from django.utils.functional import lazy

from csp.constants import NONCE, NONE, SELF
from csp.utils import build_policy, default_config, DEFAULT_DIRECTIVES
from csp.utils import DEFAULT_DIRECTIVES, build_policy, default_config


def policy_eq(a: str, b: str) -> None:
Expand Down
3 changes: 2 additions & 1 deletion csp/tests/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations

from abc import ABC, abstractmethod
from typing import Dict, Optional, TYPE_CHECKING, Callable, Any, Tuple
from typing import TYPE_CHECKING, Any, Callable, Dict, Optional, Tuple

from django.http import HttpResponse
from django.template import Context, Template, engines
Expand Down
2 changes: 1 addition & 1 deletion csp/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import re
from collections import OrderedDict
from itertools import chain
from typing import Any, Dict, Optional, Union, Callable
from typing import Any, Callable, Dict, Optional, Union

from django.conf import settings
from django.utils.encoding import force_str
Expand Down
12 changes: 6 additions & 6 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ a more slightly strict policy and is used to test the policy without breaking th
signifies that you do not want any sources for this directive. The ``None`` value is a
Python keyword that represents the absence of a value and when used as the value of a directive,
it will remove the directive from the policy.

This is useful when using the ``@csp_replace`` decorator to effectively clear a directive from
the base configuration as defined in the settings. For example, if the Django settings the
``frame-ancestors`` directive is set to a list of sources and you want to remove the
Expand Down Expand Up @@ -124,9 +124,9 @@ policy.

The CSP keyword values of ``'self'``, ``'unsafe-inline'``, ``'strict-dynamic'``, etc. must be
quoted! e.g.: ``"default-src": ["'self'"]``. Without quotes they will not work as intended.

New in version 4.0 are CSP keyword constants. Use these to minimize quoting mistakes and typos.

The following CSP keywords are available:

* ``NONE`` = ``"'none'"``
Expand All @@ -140,9 +140,9 @@ policy.
* ``WASM_UNSAFE_EVAL`` = ``"'wasm-unsafe-eval'"``

Example usage:

.. code-block:: python
from csp.constants import SELF, STRICT_DYNAMIC
CONTENT_SECURITY_POLICY = {
Expand Down Expand Up @@ -318,4 +318,4 @@ the :ref:`decorator documentation <decorator-chapter>` for more details.
.. _block-all-mixed-content_mdn: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/block-all-mixed-content
.. _plugin_types_mdn: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/plugin-types
.. _prefetch_src_mdn: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/prefetch-src
.. _strict-csp: https://csp.withgoogle.com/docs/strict-csp.html
.. _strict-csp: https://csp.withgoogle.com/docs/strict-csp.html
6 changes: 3 additions & 3 deletions docs/migration-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,11 @@ The new settings would be:
.. note::

If you were using the ``CSP_INCLUDE_NONCE_IN`` setting, this has been removed in the new settings
format.
format.

**Previously:** You could use the ``CSP_INCLUDE_NONCE_IN`` setting to specify which directives in
your Content Security Policy (CSP) should include a nonce.

**Now:** You can include a nonce in any directive by adding the ``NONCE`` constant from the
``csp.constants`` module to the list of sources for that directive.

Expand Down

0 comments on commit 71afcf5

Please sign in to comment.