From 0d1c1dcc6255d65685e08d34f117ed7c7e092b66 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Fri, 23 Aug 2024 15:15:50 +0200 Subject: [PATCH 1/4] Update dependencies --- poetry.lock | 340 +++++++++++++++++++++++++++------------------------- 1 file changed, 179 insertions(+), 161 deletions(-) diff --git a/poetry.lock b/poetry.lock index 70172514..047b2f5a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -69,33 +69,33 @@ lxml = ["lxml"] [[package]] name = "black" -version = "24.4.2" +version = "24.8.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-24.4.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce"}, - {file = "black-24.4.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021"}, - {file = "black-24.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063"}, - {file = "black-24.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96"}, - {file = "black-24.4.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474"}, - {file = "black-24.4.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c"}, - {file = "black-24.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb"}, - {file = "black-24.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1"}, - {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, - {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, - {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, - {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, - {file = "black-24.4.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7"}, - {file = "black-24.4.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94"}, - {file = "black-24.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8"}, - {file = "black-24.4.2-cp38-cp38-win_amd64.whl", hash = "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c"}, - {file = "black-24.4.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1"}, - {file = "black-24.4.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741"}, - {file = "black-24.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"}, - {file = "black-24.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7"}, - {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, - {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, + {file = "black-24.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6"}, + {file = "black-24.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb"}, + {file = "black-24.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42"}, + {file = "black-24.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a"}, + {file = "black-24.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1"}, + {file = "black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af"}, + {file = "black-24.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4"}, + {file = "black-24.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af"}, + {file = "black-24.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368"}, + {file = "black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed"}, + {file = "black-24.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018"}, + {file = "black-24.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2"}, + {file = "black-24.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd"}, + {file = "black-24.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2"}, + {file = "black-24.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e"}, + {file = "black-24.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920"}, + {file = "black-24.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c"}, + {file = "black-24.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e"}, + {file = "black-24.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47"}, + {file = "black-24.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb"}, + {file = "black-24.8.0-py3-none-any.whl", hash = "sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed"}, + {file = "black-24.8.0.tar.gz", hash = "sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f"}, ] [package.dependencies] @@ -131,17 +131,17 @@ webencodings = "*" [[package]] name = "boto3" -version = "1.34.144" +version = "1.35.4" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.34.144-py3-none-any.whl", hash = "sha256:b8433d481d50b68a0162c0379c0dd4aabfc3d1ad901800beb5b87815997511c1"}, - {file = "boto3-1.34.144.tar.gz", hash = "sha256:2f3e88b10b8fcc5f6100a9d74cd28230edc9d4fa226d99dd40a3ab38ac213673"}, + {file = "boto3-1.35.4-py3-none-any.whl", hash = "sha256:96c39593afb7b55ebb74d08c8e3201041d105b557c8c8536c9054c9f13da5f2a"}, + {file = "boto3-1.35.4.tar.gz", hash = "sha256:d997b82c468bd5c2d5cd29810d47079b66b178d2b5ae021aebe262c4d78d4c94"}, ] [package.dependencies] -botocore = ">=1.34.144,<1.35.0" +botocore = ">=1.35.4,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -150,13 +150,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.34.144" +version = "1.35.4" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.34.144-py3-none-any.whl", hash = "sha256:a2cf26e1bf10d5917a2285e50257bc44e94a1d16574f282f3274f7a5d8d1f08b"}, - {file = "botocore-1.34.144.tar.gz", hash = "sha256:4215db28d25309d59c99507f1f77df9089e5bebbad35f6e19c7c44ec5383a3e8"}, + {file = "botocore-1.35.4-py3-none-any.whl", hash = "sha256:10195e5ca764745f02b9a51df048b996ddbdc1899a44a2caf35dfb225dfea489"}, + {file = "botocore-1.35.4.tar.gz", hash = "sha256:4cc51a6a486915aedc140f9d027b7e156646b7a0f7b33b1000762c81aff9a12f"}, ] [package.dependencies] @@ -165,7 +165,7 @@ python-dateutil = ">=2.1,<3.0.0" urllib3 = {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""} [package.extras] -crt = ["awscrt (==0.20.11)"] +crt = ["awscrt (==0.21.2)"] [[package]] name = "certifi" @@ -391,13 +391,13 @@ static3 = "*" [[package]] name = "django" -version = "5.0.7" +version = "5.0.8" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false python-versions = ">=3.10" files = [ - {file = "Django-5.0.7-py3-none-any.whl", hash = "sha256:f216510ace3de5de01329463a315a629f33480e893a9024fc93d8c32c22913da"}, - {file = "Django-5.0.7.tar.gz", hash = "sha256:bd4505cae0b9bd642313e8fb71810893df5dc2ffcacaa67a33af2d5cd61888f2"}, + {file = "Django-5.0.8-py3-none-any.whl", hash = "sha256:333a7988f7ca4bc14d360d3d8f6b793704517761ae3813b95432043daec22a45"}, + {file = "Django-5.0.8.tar.gz", hash = "sha256:ebe859c9da6fead9c9ee6dbfa4943b04f41342f4cea2c4d8c978ef0d10694f2b"}, ] [package.dependencies] @@ -441,13 +441,13 @@ testing = ["coverage"] [[package]] name = "django-compressor" -version = "4.5" +version = "4.5.1" description = "('Compresses linked and inline JavaScript or CSS into single cached files.',)" optional = false python-versions = ">=3.8" files = [ - {file = "django_compressor-4.5-py2.py3-none-any.whl", hash = "sha256:2c14e1a80a234432153e64035ae1adaf638c1ba8d7fc9e60a7be2fad5697fdbe"}, - {file = "django_compressor-4.5.tar.gz", hash = "sha256:9d98c905b741be6cb09ad828c1d22a9ff9244dd08823e2926af8ddd1871c3c65"}, + {file = "django_compressor-4.5.1-py2.py3-none-any.whl", hash = "sha256:87741edee4e7f24f3e0b8072d94a990cfb010cb2ca7cc443944da8e193cdea65"}, + {file = "django_compressor-4.5.1.tar.gz", hash = "sha256:c1d8a48a2ee4d8b7f23c411eb9c97e2d88db18a18ba1c9e8178d5f5b8366a822"}, ] [package.dependencies] @@ -458,13 +458,13 @@ rjsmin = "1.2.2" [[package]] name = "django-crispy-forms" -version = "2.2" +version = "2.3" description = "Best way to have Django DRY forms" optional = false python-versions = ">=3.8" files = [ - {file = "django_crispy_forms-2.2-py3-none-any.whl", hash = "sha256:a681cffd5af270b3082bda02cf8f81bdb5717ed66d2265e87e3df2f4ccf46277"}, - {file = "django_crispy_forms-2.2.tar.gz", hash = "sha256:92cb7b7786fb82646bad739343fd17a99a04b0b736a09e34f3b91f26cbca7e4a"}, + {file = "django_crispy_forms-2.3-py3-none-any.whl", hash = "sha256:efc4c31e5202bbec6af70d383a35e12fc80ea769d464fb0e7fe21768bb138a20"}, + {file = "django_crispy_forms-2.3.tar.gz", hash = "sha256:2db17ae08527201be1273f0df789e5f92819e23dd28fec69cffba7f3762e1a38"}, ] [package.dependencies] @@ -487,13 +487,13 @@ sqlparse = ">=0.2" [[package]] name = "django-dsfr" -version = "1.2.0" +version = "1.3.1" description = "Integrate the French government Design System into a Django app" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "django_dsfr-1.2.0-py3-none-any.whl", hash = "sha256:85390147dcf07b36a7e9bc6cf536ed1bf3cb51fa390c583db0df8186adf4213a"}, - {file = "django_dsfr-1.2.0.tar.gz", hash = "sha256:4eaae52993c87740d11dbf36c51f73dad1a372cdbc3bcd0757f3e18584e8c4c5"}, + {file = "django_dsfr-1.3.1-py3-none-any.whl", hash = "sha256:d0b57923b25cfe7bf3313d2a8c73d89156679422b98cf07eb635bd0b2848a9d1"}, + {file = "django_dsfr-1.3.1.tar.gz", hash = "sha256:c12bafe36ceb381b18fef47c5db1f0dc9fc62841594062caca8311d53fdd6a35"}, ] [package.dependencies] @@ -518,13 +518,13 @@ Django = ">=3.2" [[package]] name = "django-filter" -version = "24.2" +version = "24.3" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." optional = false python-versions = ">=3.8" files = [ - {file = "django-filter-24.2.tar.gz", hash = "sha256:48e5fc1da3ccd6ca0d5f9bb550973518ce977a4edde9d2a8a154a7f4f0b9f96e"}, - {file = "django_filter-24.2-py3-none-any.whl", hash = "sha256:df2ee9857e18d38bed203c8745f62a803fa0f31688c9fe6f8e868120b1848e48"}, + {file = "django_filter-24.3-py3-none-any.whl", hash = "sha256:c4852822928ce17fb699bcfccd644b3574f1a2d80aeb2b4ff4f16b02dd49dc64"}, + {file = "django_filter-24.3.tar.gz", hash = "sha256:d8ccaf6732afd21ca0542f6733b11591030fa98669f8d15599b358e24a2cd9c3"}, ] [package.dependencies] @@ -1041,13 +1041,13 @@ files = [ [[package]] name = "markdown" -version = "3.6" +version = "3.7" description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, - {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, ] [package.extras] @@ -1265,57 +1265,63 @@ xmp = ["defusedxml"] [[package]] name = "pillow-heif" -version = "0.17.0" +version = "0.18.0" description = "Python interface for libheif library" optional = false python-versions = ">=3.8" files = [ - {file = "pillow_heif-0.17.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:70fa89a6ed62d4eb993f1adcd72a547861e7a947714bad87f0c0b201ef04c28c"}, - {file = "pillow_heif-0.17.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:7a201d9f086ab4c475691936e40e063529f401a0a53f70ef3b1e5404726b80fd"}, - {file = "pillow_heif-0.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f29d98668785fbb8ddcf0cf5e86f8676c2a4d7dc3c3ee51a37304c6047cea4d"}, - {file = "pillow_heif-0.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab279e6b5a5d65ee30db49d55668b9b1b2756827a251c2c6577d7dcaa152c1a9"}, - {file = "pillow_heif-0.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5d360eac8a066739fa01a9d14954a288bc52eb9ac90e924d85b0ab89502626d6"}, - {file = "pillow_heif-0.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:861cd3783df852c28d1c7434562f59dc1f10f38746c5bbf0be4fafc8516a493b"}, - {file = "pillow_heif-0.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:3d2f4b33eb0ea85d5afae3d340aa60781570ca56513666b22fe1fa94a6546ab8"}, - {file = "pillow_heif-0.17.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:7991509a4d0291116a26b9cd9f3482e4b2a4e3cdd9950de33cd78dae53b7a94d"}, - {file = "pillow_heif-0.17.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:b85cdcdcec561e28b3f72d181342a6fe72298a4da7ad6fe973161efb699f9555"}, - {file = "pillow_heif-0.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23eeda0ce7d22d35f806c48c9f4e9eccfb7f5cf7f54f459ca71d053ed6e7e84e"}, - {file = "pillow_heif-0.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ac7505dbdea5467ba5eb4013c06915f9b42f893b4856ac957f4568317814268"}, - {file = "pillow_heif-0.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ccdbdf6cc7e63b6dc886c1e258f84f9ca622611c0f63ecfd7e453e026aa18a35"}, - {file = "pillow_heif-0.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2055dd6a9f2ccfe68bcfb375aac667923ca330adea4c21d46e8b0541c942768f"}, - {file = "pillow_heif-0.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:853637f56b431d77750390fb3327f4e7025a755c1bcee9d209384f4b24583598"}, - {file = "pillow_heif-0.17.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:29e5bc3a6529e1247f974386f55e4a2932dbdb8b8407496c95e7fd5c30a695a6"}, - {file = "pillow_heif-0.17.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:28226858905df14879a856d11179cf765c2728306ed686802bb7c8fff5e77a82"}, - {file = "pillow_heif-0.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4992e51c5e6968957e083fdd2b93865396b00755a4c8e53c71c0233cc53637f"}, - {file = "pillow_heif-0.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e460433a23aab5c0e92fb6700ee3c2aec32e680daa12520bd784f263bf95319f"}, - {file = "pillow_heif-0.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4e193d3d078c301fd3ecd136ca4e351df6ae7a3b5837f48828bb9e78390a3a88"}, - {file = "pillow_heif-0.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:72d3d32756fb039a062f239c5890a2757d0ca8b36c6a4dd1b6c81bbecc36d646"}, - {file = "pillow_heif-0.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:aef99e3201be61e1b2322faf982765327f7423b8a065c31c24761aecf5df161e"}, - {file = "pillow_heif-0.17.0-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:7d82702167839a14f95169e5d4ecae7c31e2669a6c0772b6cb7eae4d74caf69b"}, - {file = "pillow_heif-0.17.0-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:5b8983e5dc8156e1af5a26335b086d85ed3f8e570be5f922546ef131e8cf9c00"}, - {file = "pillow_heif-0.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e0dcc4e3901c8d2bd099e670c62f431895d2d7a5a0979da89865508d41e1a06"}, - {file = "pillow_heif-0.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:444408526de16e55509077cce83d1893ba14e47e9f1b61e1a83aa9a23dcb8eeb"}, - {file = "pillow_heif-0.17.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d0d92e835b57ddff51a06442d5c701eae4a8da32d4dcd14bc0fa74dfccc35ac7"}, - {file = "pillow_heif-0.17.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:1c9a69b8f1ff131ae3d11ba86386b7ac1872702d8529a055cb694cffbd876a7b"}, - {file = "pillow_heif-0.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:27074ae9ded6576bc99d75d5c9911736711d44bb2a383177e305db6dbea1da27"}, - {file = "pillow_heif-0.17.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:e1aae72d0a608525aa041ed3853198f9e5d16bc1ccb0e3c5320ec08be5ed8c7f"}, - {file = "pillow_heif-0.17.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:80f2156b7d75abdc3b69c4688192be56cb40db9a423d67c375f34099814aed1a"}, - {file = "pillow_heif-0.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:190a69a5695fe6e661024b7266c3282aad4c582ca172ce4cb3851986e0635d7f"}, - {file = "pillow_heif-0.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:130b8ba2c4116dbaaa531052fe3868ab98e078ab8d51efb9453ca9c787dc3517"}, - {file = "pillow_heif-0.17.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:11545360fd2d52b8319988c73f58caba6de6c3a49b28f0808a0cf48a29f860c2"}, - {file = "pillow_heif-0.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ec51216fa9373a6efe493614766e4fc7ad715d5496c049a7019c7890a0eeb9bc"}, - {file = "pillow_heif-0.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:dea62e7559577b69354672f3f23c3c8d308c14015965ab97f9d4440229ae6d70"}, - {file = "pillow_heif-0.17.0-pp310-pypy310_pp73-macosx_12_0_x86_64.whl", hash = "sha256:d787ee558500d0222b8ab30a520512109c39fe76c25cea613295c83a808d3589"}, - {file = "pillow_heif-0.17.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl", hash = "sha256:4cbe8e609c363d6c41f5fd52aa4c1274927b88df1ae8b96ff3dee1d5549b58e2"}, - {file = "pillow_heif-0.17.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd469939924a9722e4353d3770d27d9fa8a5a2a869519f48f190a8bc6694d995"}, - {file = "pillow_heif-0.17.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58fdcb04b6c3a8802f94415bd6e2d20df2d79cf6947e4ff9a1b1cdfdb13a187a"}, - {file = "pillow_heif-0.17.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:fd5b9d27ffb06ce81a8d4c86ca026ce7644108cc27802a8122a52b7863fb1af7"}, - {file = "pillow_heif-0.17.0-pp39-pypy39_pp73-macosx_12_0_x86_64.whl", hash = "sha256:eed517d85d2ce15b8fdaf382bcd04947e87d961e0dceb258c161167ed4a6cbb0"}, - {file = "pillow_heif-0.17.0-pp39-pypy39_pp73-macosx_14_0_arm64.whl", hash = "sha256:f70150db79a3c2e9d1f93263dc88810f265c3d86968b8954bc563f487672a999"}, - {file = "pillow_heif-0.17.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cda9f1d67bbb8e2b4d976e6113d876b27bea9544a95e37ee7cb8e53f242598d"}, - {file = "pillow_heif-0.17.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c27fe963fc279128519e5845556e8c57622b3d504df1b63aa06038086de0799e"}, - {file = "pillow_heif-0.17.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a10cdb3d525d22fc31b268f55740352ac2adf357016a87b16116b0d7df29198f"}, - {file = "pillow_heif-0.17.0.tar.gz", hash = "sha256:9541ffd1f80ff3f12da26aba76eb6da458fafa5f8bf4ee16279de0e2a5464ba9"}, + {file = "pillow_heif-0.18.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:e1ad1d97f42fc39de8639b3f45d4d053e00158fc64f1674a14d8912cf81791e3"}, + {file = "pillow_heif-0.18.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:c45b8d19d8bb1fc61f1f648d042da16d9085506055665a64b56ce8d8ed83c42b"}, + {file = "pillow_heif-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d524458837bdc5410f66de8e68e864bd179d19a1c205daf7f8c9a07194cc5615"}, + {file = "pillow_heif-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f032593b3cfc96970efc91860ef6eaa62b1e661418d7f9ec186dff9ac7c9844"}, + {file = "pillow_heif-0.18.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06649ea6bfac8ca5e7ac898c78c4aad2fd0bc1ce278fa86c503170010902193b"}, + {file = "pillow_heif-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8612f4c2e8a3388647c3ce0b7810398cf941aceecd4b2c7790331a53117baf10"}, + {file = "pillow_heif-0.18.0-cp310-cp310-win_amd64.whl", hash = "sha256:a7cc374452f5b00cf44171a7bfc08c016b0c0a9f226a99369ffbeb13fd45fa7b"}, + {file = "pillow_heif-0.18.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:a5d8bfcf8b23b67b8937bcc25fd464f1ca383d3d1d65220463be81ccf6c8185b"}, + {file = "pillow_heif-0.18.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:2a4c41e76f2da4e046f170cb3716b7aedc466a194509bc0bf1a7c735d5278b8c"}, + {file = "pillow_heif-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68781589ee03bf4bd670e55444c25cb0784451b0beacfb0f79d7f56ae497a767"}, + {file = "pillow_heif-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8782f9f82c534f4a37ce3c609505f992f340a495da1247951108218a201d0e9"}, + {file = "pillow_heif-0.18.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2902460d60843e2c379320f1b752a6d4879e3ab0479674ee323d7dee487cccc8"}, + {file = "pillow_heif-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c8bebd570446a7b4f7db5ca8eb333dd4591fda13524bc49eee34b3f5cf40741b"}, + {file = "pillow_heif-0.18.0-cp311-cp311-win_amd64.whl", hash = "sha256:4476bbd7bb7cc1d94c35f0c85786dbe528661bc937422db03fdc865b9ee91d30"}, + {file = "pillow_heif-0.18.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:c795e7ccceea33e01e49ce536139f94cabb1bf017393666f76c05a9daebae2da"}, + {file = "pillow_heif-0.18.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:4dd5b3ec09be45c1ef63be31773df90e18ee08e5e950018b0a349924b54a24ac"}, + {file = "pillow_heif-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb2eade59c2654c2643a3b637de37c19e75a77c66a3e9a5e0ae26210e4f48aee"}, + {file = "pillow_heif-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:35b59d599bfdb8454739db6b92f0841ecadbe887babb5ed5abd5299587843eef"}, + {file = "pillow_heif-0.18.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:26a0b8b8e899e7bcc876ee61fcadb0f0b849bd6a0d5c20f0e969c77a43b40568"}, + {file = "pillow_heif-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0276a3e0c667677ed0c67f4512cdf2f674065018049307ba4de5cb4648b0a33e"}, + {file = "pillow_heif-0.18.0-cp312-cp312-win_amd64.whl", hash = "sha256:5916fa31f2015626dd2372d14e24521ea6caed11b25be14faa9b9c67731087ce"}, + {file = "pillow_heif-0.18.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:ca554f086bc146f1a798adcd77fdecd81564cc0cd74802ee61e3869ab87282f7"}, + {file = "pillow_heif-0.18.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:2821d30d22bbb94c2a0fae25eb566421bf22c909958e031d3f0973b482b88515"}, + {file = "pillow_heif-0.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8376309e178f39a2891183cb9662f1c2c87b8614ff13871f077f89edf65ecf48"}, + {file = "pillow_heif-0.18.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3549e26a65e04e7e986888993b03aae0f848576c2404b5edf12d7db76ef2e72b"}, + {file = "pillow_heif-0.18.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0138a08ed90e54c230878c0b8cb92447ad591b7b2e86bfca145029322ba384c7"}, + {file = "pillow_heif-0.18.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f552419c8bd754603f1dfbc7f8cdd666118fdd3d063d67974c5bd5a8d7fed9de"}, + {file = "pillow_heif-0.18.0-cp313-cp313-win_amd64.whl", hash = "sha256:be148b8463ac5d25fdf94d70c69a53712890cd3974ead906c98e7bf35fc96ba6"}, + {file = "pillow_heif-0.18.0-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:bca173920f16ea8d1c40a970f002be15ac34a5fa99d39403a85472e265db2357"}, + {file = "pillow_heif-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e8e9860259688700f13baed015632c4ddaf813d26cc856e37ebf0a3f171661"}, + {file = "pillow_heif-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21b9080d96d51158774e3022fc9af19b650863cbb23fac991458cb354b1aa63d"}, + {file = "pillow_heif-0.18.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:5b2ee478e373c0502dc431b22840dd0c551c4ce0e1007ab13f038a868ed375c1"}, + {file = "pillow_heif-0.18.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:35d2d7199dc34f28aef39cec984c043b1ee30d5c46048566584dc61cf4108c09"}, + {file = "pillow_heif-0.18.0-cp38-cp38-win_amd64.whl", hash = "sha256:d399ac5fb499c8feb9770503db25073dfeaccd01238bcb6aaf01354cd83db123"}, + {file = "pillow_heif-0.18.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:3af89fa7a73143bc49fc18f92b1a6c0fa68ecb56fb56224fb369c2f56729fbb6"}, + {file = "pillow_heif-0.18.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:8b0b9a66e604aef2d0a19a7cb2247c5f9b3352827bb1b00816053ce4982ec8ab"}, + {file = "pillow_heif-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02af8950d190e3bea28ed2d0ca40798eeae88eaf6e099ee44ec654667f979d97"}, + {file = "pillow_heif-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:165430447de0f7da259eb07d9487571784912a64c75cd0c52d0d506c114ec7ce"}, + {file = "pillow_heif-0.18.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7666cbab98246cf9355625e66bf1bb885fdcf8ff4a917f4db04231e80ea692ee"}, + {file = "pillow_heif-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f403aadee232509ee2fdedbfda2dd0bae75098e70a8ddcc010061f92ab962517"}, + {file = "pillow_heif-0.18.0-cp39-cp39-win_amd64.whl", hash = "sha256:7ed6cc5ea21f04b15b7604e20592e0ee760ee10fb2da2209b85c94bf0b6f1034"}, + {file = "pillow_heif-0.18.0-pp310-pypy310_pp73-macosx_12_0_x86_64.whl", hash = "sha256:744b8a00a817e7139a7e2fd296092689116700dfd63e34941abdc8ae85b3a982"}, + {file = "pillow_heif-0.18.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl", hash = "sha256:89b1d63be7e8036ab45f0cd58e27e54113cfd7e852e91606b5cec4fa788a503f"}, + {file = "pillow_heif-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a8ab9803d79e84e7751cc0930d381112efbf71461ca123a5c2b7abf1050c72"}, + {file = "pillow_heif-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7649431ea30a9c342888d814f07d2aed9cab06ef5fe5bf065d514eceb2c8d24e"}, + {file = "pillow_heif-0.18.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8ee07e334f99bdf399d207bb19653496c65fcbf006f2cee964047f6d6d57acd9"}, + {file = "pillow_heif-0.18.0-pp39-pypy39_pp73-macosx_12_0_x86_64.whl", hash = "sha256:4148a7f17d184c815f428949d6e60582136ef0802a7462c842ee9fe15ca9be16"}, + {file = "pillow_heif-0.18.0-pp39-pypy39_pp73-macosx_14_0_arm64.whl", hash = "sha256:5908e8079f62ec8ace9e7c554691a82ece088d0945d980a877e981f208e85193"}, + {file = "pillow_heif-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28358d5e4e3aeb4af2a60a20187099ba03ab8619bcec8212900657371778da96"}, + {file = "pillow_heif-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8988a9ce18425aff189913905ce28e61220061c3f222e08213eb473b88a41a20"}, + {file = "pillow_heif-0.18.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7ef23775de70124a02ad9be69af58126ec63a2e2987495355e75cabb265c01cb"}, + {file = "pillow_heif-0.18.0.tar.gz", hash = "sha256:70318dad9faa76121c6592ac0ab59881ff0dac6ab791a922e70d82c7706cce88"}, ] [package.dependencies] @@ -1356,13 +1362,13 @@ files = [ [[package]] name = "pre-commit" -version = "3.7.1" +version = "3.8.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.9" files = [ - {file = "pre_commit-3.7.1-py2.py3-none-any.whl", hash = "sha256:fae36fd1d7ad7d6a5a1c0b0d5adb2ed1a3bda5a21bf6c3e5372073d7a11cd4c5"}, - {file = "pre_commit-3.7.1.tar.gz", hash = "sha256:8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a"}, + {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, + {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, ] [package.dependencies] @@ -1480,13 +1486,13 @@ files = [ [[package]] name = "pure-eval" -version = "0.2.2" +version = "0.2.3" description = "Safely evaluate AST nodes without side effects" optional = false python-versions = "*" files = [ - {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"}, - {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"}, + {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, + {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, ] [package.extras] @@ -1569,51 +1575,64 @@ files = [ [[package]] name = "pyyaml" -version = "6.0.1" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, - {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, - {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, - {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, - {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, - {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, - {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, - {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, - {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, - {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, - {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, - {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, - {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, - {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, - {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, - {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, - {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, - {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] @@ -1907,13 +1926,13 @@ files = [ [[package]] name = "soupsieve" -version = "2.5" +version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." optional = false python-versions = ">=3.8" files = [ - {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, - {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, ] [[package]] @@ -1991,13 +2010,13 @@ files = [ [[package]] name = "tqdm" -version = "4.66.4" +version = "4.66.5" description = "Fast, Extensible Progress Meter" optional = false python-versions = ">=3.7" files = [ - {file = "tqdm-4.66.4-py3-none-any.whl", hash = "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644"}, - {file = "tqdm-4.66.4.tar.gz", hash = "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"}, + {file = "tqdm-4.66.5-py3-none-any.whl", hash = "sha256:90279a3770753eafc9194a0364852159802111925aa30eb3f9d85b0e805ac7cd"}, + {file = "tqdm-4.66.5.tar.gz", hash = "sha256:e1020aef2e5096702d8a025ac7d16b1577279c9d63f8375b63083e9a5f0fcbad"}, ] [package.dependencies] @@ -2096,13 +2115,13 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "wagtail" -version = "6.1.3" +version = "6.2.1" description = "A Django content management system." optional = false python-versions = ">=3.8" files = [ - {file = "wagtail-6.1.3-py3-none-any.whl", hash = "sha256:b6c4d5705adf51a5e49ea416032dd0a6534588fc31c5c9a95f698e6ddec0a203"}, - {file = "wagtail-6.1.3.tar.gz", hash = "sha256:8f4908ab1b6b963a8aa7adf8f0ec738cd1dc79b9816c6d5f59018f600a404378"}, + {file = "wagtail-6.2.1-py3-none-any.whl", hash = "sha256:31d073ea8acdc973ef45c5719977a1bb122ad0fc3f01348f37e922128200b42a"}, + {file = "wagtail-6.2.1.tar.gz", hash = "sha256:0f136ef23b157997a44fa46543a320a31437350951cf13add8ea8b69cc5e8385"}, ] [package.dependencies] @@ -2112,7 +2131,7 @@ Django = ">=4.2,<6.0" django-filter = ">=23.3,<25" django-modelcluster = ">=6.2.1,<7.0" django-permissionedforms = ">=0.1,<1.0" -django-taggit = ">=4.0,<5.1" +django-taggit = ">=5.0,<5.1" django-treebeard = ">=4.5.1,<5.0" djangorestframework = ">=3.15.1,<4.0" draftjs-exporter = ">=2.1.5,<6.0" @@ -2125,18 +2144,18 @@ telepath = ">=0.3.1,<1" Willow = {version = ">=1.8.0,<2", extras = ["heif"]} [package.extras] -docs = ["Sphinx (>=1.5.2)", "myst-parser (==2.0.0)", "pyenchant (>=3.1.1,<4)", "sphinx-autobuild (>=0.6.0)", "sphinx-copybutton (>=0.5,<1.0)", "sphinx-wagtail-theme (==6.3.0)", "sphinxcontrib-spelling (>=7,<8)"] +docs = ["Sphinx (>=7.0)", "myst-parser (==2.0.0)", "pyenchant (>=3.1.1,<4)", "sphinx-autobuild (>=0.6.0)", "sphinx-copybutton (>=0.5,<1.0)", "sphinx-wagtail-theme (==6.3.0)", "sphinxcontrib-spelling (>=7,<8)"] testing = ["Jinja2 (>=3.0,<3.2)", "azure-mgmt-cdn (>=12.0,<13.0)", "azure-mgmt-frontdoor (>=1.0,<1.1)", "boto3 (>=1.28,<2)", "coverage (>=3.7.0)", "curlylint (==0.13.1)", "django-pattern-library (>=0.7)", "djhtml (==3.0.6)", "doc8 (==0.8.1)", "factory-boy (>=3.2)", "freezegun (>=0.3.8)", "polib (>=1.1,<2.0)", "python-dateutil (>=2.7)", "pytz (>=2014.7)", "ruff (==0.1.5)", "semgrep (==1.40.0)", "tblib (>=2.0,<3.0)"] [[package]] name = "wagtail-localize" -version = "1.9" +version = "1.9.1" description = "Translation plugin for Wagtail CMS" optional = false python-versions = ">=3.8" files = [ - {file = "wagtail_localize-1.9-py3-none-any.whl", hash = "sha256:a680fc33c17145e6726f03a57b2ec465405847ae7cb77943ecc0e56463ad68c7"}, - {file = "wagtail_localize-1.9.tar.gz", hash = "sha256:f4fa9c36d8dbab5c27d1b675ed6fd7b9e8f012cf4bb308464168de7ebbad8324"}, + {file = "wagtail_localize-1.9.1-py3-none-any.whl", hash = "sha256:c895efc286970d2810929056044c11ff0b4ebb7a26b494d052a07c41ead4afab"}, + {file = "wagtail_localize-1.9.1.tar.gz", hash = "sha256:d7b1434e765a004ffd7b5951d151b3817bbbd1ee5c4f11b9485c84e520f383e6"}, ] [package.dependencies] @@ -2190,13 +2209,12 @@ testing = ["dj-database-url (>=2.0.0)", "pre-commit (<3.0)"] [[package]] name = "wagtailmenus" -version = "4.0" +version = "4.0.1" description = "An app to help you manage menus in your Wagtail projects more consistently." optional = false python-versions = ">=3.8" files = [ - {file = "wagtailmenus-4.0-py3-none-any.whl", hash = "sha256:fe548b1ccd6a7b9c96b03ed0cfd020d278a8cab3b08e32d6859001ec7ec4fd03"}, - {file = "wagtailmenus-4.0.tar.gz", hash = "sha256:d233dba4f67a72a19b61bfa0a494949e52622be124d8b537287d5d64021c57f2"}, + {file = "wagtailmenus-4.0.1-py3-none-any.whl", hash = "sha256:cc650d9866f995c8322ec203da8afd4eb68a90363e2c9bd05ef2cf971d0f0d5b"}, ] [package.dependencies] From 5164ef1ed29b2da98d2956efc59c6c026137a988 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Fri, 23 Aug 2024 16:22:51 +0200 Subject: [PATCH 2/4] Add all notice options to admin settings --- blog/migrations/0030_alter_category_locale.py | 25 +++ .../locale/fr/LC_MESSAGES/django.mo | Bin 17603 -> 18587 bytes .../locale/fr/LC_MESSAGES/django.po | 155 +++++++++++------- ...ename_notice_cmsdsfrconfig_notice_title.py | 17 ++ ...sdsfrconfig_notice_description_and_more.py | 83 ++++++++++ content_manager/models.py | 57 ++++++- content_manager/tests/test_views.py | 2 +- locale/fr/LC_MESSAGES/django.mo | Bin 1151 -> 1270 bytes locale/fr/LC_MESSAGES/django.po | 14 +- static/css/style.css | 2 +- static/css/style.sass | 3 + templates/base.html | 153 ++++++++--------- templates/blocks/notice.html | 30 ++++ 13 files changed, 399 insertions(+), 142 deletions(-) create mode 100644 blog/migrations/0030_alter_category_locale.py create mode 100644 content_manager/migrations/0039_rename_notice_cmsdsfrconfig_notice_title.py create mode 100644 content_manager/migrations/0040_cmsdsfrconfig_notice_description_and_more.py create mode 100644 templates/blocks/notice.html diff --git a/blog/migrations/0030_alter_category_locale.py b/blog/migrations/0030_alter_category_locale.py new file mode 100644 index 00000000..ad5693a1 --- /dev/null +++ b/blog/migrations/0030_alter_category_locale.py @@ -0,0 +1,25 @@ +# Generated by Django 5.0.8 on 2024-08-23 13:17 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("blog", "0029_alter_blogentrypage_body_alter_blogindexpage_body_and_more"), + ("wagtailcore", "0094_alter_page_locale"), + ] + + operations = [ + migrations.AlterField( + model_name="category", + name="locale", + field=models.ForeignKey( + editable=False, + on_delete=django.db.models.deletion.PROTECT, + related_name="+", + to="wagtailcore.locale", + verbose_name="locale", + ), + ), + ] diff --git a/content_manager/locale/fr/LC_MESSAGES/django.mo b/content_manager/locale/fr/LC_MESSAGES/django.mo index d6a6c51a27153c0b3cb8ac58779d91d217e20907..d60706a8c391bb39c99efea7b8d64bd815adbd34 100644 GIT binary patch delta 6288 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 tags for line breaks" msgstr "Nom de l’institution avec des
pour les retours à la ligne" -#: content_manager/models.py:112 +#: content_manager/models.py:113 msgid "Institution (footer)" msgstr "Institution (pied)" -#: content_manager/models.py:119 +#: content_manager/models.py:120 msgid "Institution with line break (footer)" msgstr "Institution avec césure (pied)" -#: content_manager/models.py:126 content_manager/models.py:128 +#: content_manager/models.py:127 content_manager/models.py:129 msgid "Site title" msgstr "Titre du site" -#: content_manager/models.py:132 content_manager/models.py:134 +#: content_manager/models.py:133 content_manager/models.py:135 msgid "Site tagline" msgstr "Sous-titre du site" -#: content_manager/models.py:139 -msgid "Important notice" -msgstr "Bandeau d’information importante" +#: content_manager/models.py:140 +msgid "Notice title" +msgstr "Titre du bandeau" -#: content_manager/models.py:144 +#: content_manager/models.py:144 content_manager/models.py:151 +msgid "Can include HTML" +msgstr "Peut inclure du HTML" + +#: content_manager/models.py:148 +msgid "Notice description" +msgstr "Description du bandeau" + +#: content_manager/models.py:154 +msgid "Notice type" +msgstr "Type de bandeau" + +#: content_manager/models.py:160 msgid "" -"The important notice banner should only be used for essential and temporary " -"information. (Excessive or continuous use risks “drowning” the " -"message.)" +"Use is strictly regulated, see documentation." msgstr "" -"Le bandeau d’information importante doit être utilisé uniquement pour une " -"information primordiale et temporaire. (Une utilisation excessive ou " -"continue risque de “noyer” le message)" +"L’usage de ce bandeau est strictement encadré, voir la documentation." + +#: content_manager/models.py:166 +msgid "Notice link" +msgstr "Lien du bandeau" + +#: content_manager/models.py:169 +msgid "Standardized consultation link at the end of the notice." +msgstr "Lien de consultation standardisé à la fin du bandeau." + +#: content_manager/models.py:173 +msgid "Notice icon class" +msgstr "Classe d’icône du bandeau" + +#: content_manager/models.py:177 +msgid "For weather alerts only" +msgstr "Pour les bandeaux de vigilance météo uniquement" + +#: content_manager/models.py:180 +msgid "Collapsible?" +msgstr "Refermable ?" -#: content_manager/models.py:149 +#: content_manager/models.py:182 msgid "Show the BETA tag next to the title" msgstr "Afficher la mention BETA à côté du titre" -#: content_manager/models.py:152 content_manager/models.py:312 +#: content_manager/models.py:185 content_manager/models.py:359 msgid "Description" msgstr "Description" -#: content_manager/models.py:165 content_manager/models.py:209 +#: content_manager/models.py:198 content_manager/models.py:256 msgid "Operator logo" msgstr "Logo opérateur" -#: content_manager/models.py:169 +#: content_manager/models.py:202 msgid "Logo alt text" msgstr "Alternative textuelle du logo" -#: content_manager/models.py:172 +#: content_manager/models.py:205 msgid "Must contain the text present in the image." msgstr "Doit impérativement contenir le texte présent dans l’image." -#: content_manager/models.py:175 +#: content_manager/models.py:208 msgid "Width (em)" msgstr "Largeur (em)" -#: content_manager/models.py:181 +#: content_manager/models.py:214 msgid "" "To be adjusted according to the width of the logo. Example for a " "vertical logo: 3.5, Example for a horizontal logo: 8." @@ -947,87 +979,101 @@ msgstr "" "À ajuster en fonction de la largeur du logo. Exemple pour un logo vertical: " "3.5, Exemple pour un logo horizontal: 8." -#: content_manager/models.py:190 +#: content_manager/models.py:223 msgid "Newsletter description" msgstr "Description de la lettre d’information" -#: content_manager/models.py:193 +#: content_manager/models.py:226 msgid "Newsletter registration URL" msgstr "URL d‘inscription à la lettre d’information" -#: content_manager/models.py:218 +#: content_manager/models.py:244 +msgid "Important notice" +msgstr "Bandeau d’information importante" + +#: content_manager/models.py:246 +msgid "" +"The important notice banner should only be used for essential and temporary " +"information. (Excessive or continuous use risks “drowning” " +"the message.)" +msgstr "" +"Le bandeau d’information importante doit être utilisé uniquement pour une " +"information primordiale et temporaire. (Une utilisation excessive ou " +"continue risque de “noyer” le message)" + +#: content_manager/models.py:265 msgid "Advanced settings" msgstr "Paramètres avancés" -#: content_manager/models.py:228 +#: content_manager/models.py:275 msgid "Header" msgstr "En-tête" -#: content_manager/models.py:235 +#: content_manager/models.py:282 msgid "Footer" msgstr "Pied de page" -#: content_manager/models.py:245 +#: content_manager/models.py:292 msgid "Newsletter" msgstr "Lettre d’information" -#: content_manager/models.py:247 content_manager/models.py:293 +#: content_manager/models.py:294 content_manager/models.py:340 msgid "Social media items" msgstr "Liens de réseaux sociaux" -#: content_manager/models.py:251 +#: content_manager/models.py:298 msgid "Generic" msgstr "Génériques" -#: content_manager/models.py:252 +#: content_manager/models.py:299 msgid "Brand block" msgstr "Bloc-marque" -#: content_manager/models.py:253 +#: content_manager/models.py:300 msgid "Newsletter and social media" msgstr "Lettre d’information et réseaux sociaux" -#: content_manager/models.py:279 +#: content_manager/models.py:326 msgid "URL" msgstr "URL" -#: content_manager/models.py:283 +#: content_manager/models.py:330 msgid "Icon class" msgstr "Classe d’icône" -#: content_manager/models.py:292 +#: content_manager/models.py:339 msgid "Social media item" msgstr "Lien de réseau social" -#: content_manager/models.py:299 +#: content_manager/models.py:346 msgid "Category" msgstr "Catégorie" -#: content_manager/models.py:302 +#: content_manager/models.py:349 msgid "Mega menu category" msgstr "Catégorie de méga menu" -#: content_manager/models.py:303 +#: content_manager/models.py:350 msgid "Mega menu categories" msgstr "Catégories de méga menu" -#: content_manager/models.py:308 +#: content_manager/models.py:355 msgid "Name" msgstr "Nom" -#: content_manager/models.py:313 +#: content_manager/models.py:360 msgid "Main link" msgstr "Lien principal" -#: content_manager/models.py:323 +#: content_manager/models.py:370 msgid "Categories" msgstr "Catégories" -#: content_manager/models.py:324 +#: content_manager/models.py:371 msgid "Maximum 4 categories, each with maximum 8 links." msgstr "Maximum 4 catégories, chacune contenant maximum 8 liens." -#: content_manager/models.py:335 +#: content_manager/models.py:382 msgid "Mega menu" msgstr "Méga menu" @@ -1097,9 +1143,6 @@ msgstr "Liste de pages avec l’étiquette {tag}" #~ msgid "The link appears as a button under the text block" #~ msgstr "Le lien apparaît comme un bouton sous le bloc de texte" -#~ msgid "Can contain HTML." -#~ msgstr "Peut contenir du HTML." - #~ msgid "Callout title" #~ msgstr "Titre de l’appel à action" diff --git a/content_manager/migrations/0039_rename_notice_cmsdsfrconfig_notice_title.py b/content_manager/migrations/0039_rename_notice_cmsdsfrconfig_notice_title.py new file mode 100644 index 00000000..26bae0be --- /dev/null +++ b/content_manager/migrations/0039_rename_notice_cmsdsfrconfig_notice_title.py @@ -0,0 +1,17 @@ +# Generated by Django 5.0.8 on 2024-08-23 13:18 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("content_manager", "0038_alter_contentpage_body"), + ] + + operations = [ + migrations.RenameField( + model_name="cmsdsfrconfig", + old_name="notice", + new_name="notice_title", + ), + ] diff --git a/content_manager/migrations/0040_cmsdsfrconfig_notice_description_and_more.py b/content_manager/migrations/0040_cmsdsfrconfig_notice_description_and_more.py new file mode 100644 index 00000000..ee208413 --- /dev/null +++ b/content_manager/migrations/0040_cmsdsfrconfig_notice_description_and_more.py @@ -0,0 +1,83 @@ +# Generated by Django 5.0.8 on 2024-08-23 13:26 + +import wagtail.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("content_manager", "0039_rename_notice_cmsdsfrconfig_notice_title"), + ] + + operations = [ + migrations.AddField( + model_name="cmsdsfrconfig", + name="notice_description", + field=wagtail.fields.RichTextField( + blank=True, default="", help_text="Can include HTML", verbose_name="Notice description" + ), + ), + migrations.AddField( + model_name="cmsdsfrconfig", + name="notice_icon_class", + field=models.CharField( + blank=True, + default="", + help_text="For weather alerts only", + max_length=200, + verbose_name="Notice icon class", + ), + ), + migrations.AddField( + model_name="cmsdsfrconfig", + name="notice_is_collapsible", + field=models.BooleanField(default=False, verbose_name="Collapsible?"), + ), + migrations.AddField( + model_name="cmsdsfrconfig", + name="notice_link", + field=models.URLField( + blank=True, + default="", + help_text="Standardized consultation link at the end of the notice.", + verbose_name="Notice link", + ), + ), + migrations.AddField( + model_name="cmsdsfrconfig", + name="notice_type", + field=models.CharField( + blank=True, + choices=[ + ("Generic notices", [("info", "Information"), ("warning", "Warning"), ("alert", "Alert")]), + ( + "Weather alert notices", + [ + ("weather-orange", "Orange weather alert"), + ("weather-red", "Red weather alert"), + ("weather-purple", "Purple weather alert"), + ], + ), + ( + "Alert notices", + [ + ("attack", "Attack alert"), + ("witness", "Call for witnesses"), + ("cyberattack", "Cyberattack"), + ], + ), + ], + default="info", + help_text='Use is strictly regulated, see documentation.', + max_length=20, + verbose_name="Notice type", + ), + ), + migrations.AlterField( + model_name="cmsdsfrconfig", + name="notice_title", + field=wagtail.fields.RichTextField( + blank=True, default="", help_text="Can include HTML", verbose_name="Notice title" + ), + ), + ] diff --git a/content_manager/models.py b/content_manager/models.py index d0af8b50..71ea3de7 100644 --- a/content_manager/models.py +++ b/content_manager/models.py @@ -1,6 +1,7 @@ from django.db import models from django.forms.widgets import Textarea from django.utils.translation import gettext_lazy as _ +from dsfr.constants import NOTICE_TYPE_CHOICES from modelcluster.fields import ParentalKey from modelcluster.models import ClusterableModel from modelcluster.tags import ClusterTaggableManager @@ -135,17 +136,49 @@ class Meta: blank=True, ) - notice = RichTextField( - _("Important notice"), + notice_title = RichTextField( + _("Notice title"), default="", blank=True, features=LIMITED_RICHTEXTFIELD_FEATURES, + help_text=_("Can include HTML"), + ) + + notice_description = RichTextField( + _("Notice description"), + default="", + blank=True, + help_text=_("Can include HTML"), + ) + notice_type = models.CharField( + _("Notice type"), + choices=NOTICE_TYPE_CHOICES, + default="info", + blank=True, + max_length=20, help_text=_( - "The important notice banner should only be used for essential and temporary information. \ - (Excessive or continuous use risks “drowning” the message.)" + 'Use is strictly regulated, see \ + documentation.' ), ) + notice_link = models.URLField( + _("Notice link"), + default="", + blank=True, + help_text=_("Standardized consultation link at the end of the notice."), + ) + + notice_icon_class = models.CharField( + _("Notice icon class"), + max_length=200, + default="", + blank=True, + help_text=_("For weather alerts only"), + ) + + notice_is_collapsible = models.BooleanField(_("Collapsible?"), default=False) # type: ignore + beta_tag = models.BooleanField(_("Show the BETA tag next to the title"), default=False) footer_description = RichTextField( @@ -199,7 +232,21 @@ class Meta: FieldPanel("site_title"), FieldPanel("site_tagline"), FieldPanel("footer_description"), - FieldPanel("notice"), + MultiFieldPanel( + [ + FieldPanel("notice_title"), + FieldPanel("notice_description"), + FieldPanel("notice_type"), + FieldPanel("notice_link"), + FieldPanel("notice_icon_class", widget=DsfrIconPickerWidget), + FieldPanel("notice_is_collapsible"), + ], + heading=_("Important notice"), + help_text=_( + "The important notice banner should only be used for essential and temporary information. \ + (Excessive or continuous use risks “drowning” the message.)" + ), + ), MultiFieldPanel( [ FieldPanel("operator_logo_file"), diff --git a/content_manager/tests/test_views.py b/content_manager/tests/test_views.py index 09f74e2d..10889185 100644 --- a/content_manager/tests/test_views.py +++ b/content_manager/tests/test_views.py @@ -118,7 +118,7 @@ def test_notice_is_not_set_by_default(self): ) def test_notice_can_be_set(self): - self.config.notice = "Ceci est une information importante et temporaire." + self.config.notice_title = "Ceci est une information importante et temporaire." self.config.save() url = self.content_page.url diff --git a/locale/fr/LC_MESSAGES/django.mo b/locale/fr/LC_MESSAGES/django.mo index 988f808b8070a9ec72ee49ca871db086f1df08d5..7e164e545ad29e6dbfd6d8781c70f9086b4740d9 100644 GIT binary patch delta 491 zcmYk&ze~eF6u|LIQ|*sfwWUQx(Gvs}T#8~r&_QvtgMUJ3gNDWwn-&y@x=P)GTX&sY zbkaXS1V>lJKfuLBoYe126@BF0=W^V8m)uwKJ=K2B#m^KmOiqwpazy3^195;^Jj6Nd zU>{!ptlyy2KA^@Y9KcUZp%v>{z&P(yn8O+DSE{W_Oy*fwLn+wBF>K&8O-^x?_e-<4 z?+z(cZHgHOP^Vk1GX`NRUAYQdDIcZI38n~^HrD00t@G8;UgCC1vx(oX_O@8 z1Al{aqnnWC5^Rq`K2B~#B25mF(wF~G8B%U1igmkE3(Ll8cBAeGEw5=e-MX(m*RO>q z#**b$9lhrSfxY8|x5j;9Q5Tn2ilwVgY|_YYxsI>dQ2AFHUYMJ?vK{QVoQC%PieJs} E8z`zj+5i9m delta 365 zcmXxfF-t;G6u|LwU)P?`RMZd>MGO%X9G-@Y(56_QA;QJQ4-mAuG(}SvCpR}|SGS-R z2bUIyW|wHHNvQu(J8<6b-NU)}-1`&!Mn@kRI~F2I7RV>^l-!aUS4Jd_*I30HjNk*N z@DWQm!2lNrU(vE&VFusv7&lnMFQk7YIZq@ - - - - - {% block title %} - - {% if title %}{{ title }} —{% endif %} - {{ settings.content_manager.CmsDsfrConfig.site_title }} - {% endblock title %} - - {% block description %} - {% endblock description %} - - {% dsfr_favicon %} - - {% dsfr_css %} - - - - {% block extra_css %} - {% endblock extra_css %} - - {% block tracking %} - {% if settings.content_manager.AnalyticsSettings.head_scripts %} - {{ settings.content_manager.AnalyticsSettings.head_scripts|safe }} - {% endif %} - {% endblock tracking %} - - {% block social_media %} - {% endblock social_media %} - - - - {% block skiplinks %} - {% dsfr_skiplinks skiplinks %} - {% endblock skiplinks %} - - {% include "blocks/header.html" %} - {% dsfr_theme_modale %} - {% wagtailuserbar %} - - {% if settings.content_manager.CmsDsfrConfig.notice %} - {% dsfr_notice title=settings.content_manager.CmsDsfrConfig.notice %} - {% endif %} - -
- {% block content %} - {% endblock content %} -
- - {% block follow_newsletter_social_media %} - {% if settings.content_manager.CmsDsfrConfig.show_newsletter_and_social_block %} - {% include "blocks/follow.html" %} - {% endif %} - {% endblock follow_newsletter_social_media %} - - {% include "blocks/footer.html" %} - - {% dsfr_js nonce=request.csp_nonce %} - {% block extra_js %} - {% endblock extra_js %} - - {% block body_tracking_scripts %} - {% if settings.content_manager.AnalyticsSettings.body_scripts %} - {{ settings.content_manager.AnalyticsSettings.body_scripts|safe }} +{% with SiteConfig=settings.content_manager.CmsDsfrConfig %} + + + + + + {% block title %} + + {% if title %}{{ title }} —{% endif %} + {{ SiteConfig.site_title }} + {% endblock title %} + + {% block description %} + {% endblock description %} + + {% dsfr_favicon %} + + {% dsfr_css %} + + + + {% block extra_css %} + {% endblock extra_css %} + + {% block tracking %} + {% if settings.content_manager.AnalyticsSettings.head_scripts %} + {{ settings.content_manager.AnalyticsSettings.head_scripts|safe }} + {% endif %} + {% endblock tracking %} + + {% block social_media %} + {% endblock social_media %} + + + + {% block skiplinks %} + {% dsfr_skiplinks skiplinks %} + {% endblock skiplinks %} + + {% include "blocks/header.html" %} + {% dsfr_theme_modale %} + {% wagtailuserbar %} + + {% if SiteConfig.notice_title or SiteConfig.notice_description %} + {% include "blocks/notice.html" %} {% endif %} - {% endblock body_tracking_scripts %} - - +
+ {% block content %} + {% endblock content %} +
+ + {% block follow_newsletter_social_media %} + {% if SiteConfig.show_newsletter_and_social_block %} + {% include "blocks/follow.html" %} + {% endif %} + {% endblock follow_newsletter_social_media %} + + {% include "blocks/footer.html" %} + + {% dsfr_js nonce=request.csp_nonce %} + {% block extra_js %} + {% endblock extra_js %} + + {% block body_tracking_scripts %} + {% if settings.content_manager.AnalyticsSettings.body_scripts %} + {{ settings.content_manager.AnalyticsSettings.body_scripts|safe }} + {% endif %} + {% endblock body_tracking_scripts %} + + +{% endwith %} diff --git a/templates/blocks/notice.html b/templates/blocks/notice.html new file mode 100644 index 00000000..b056be21 --- /dev/null +++ b/templates/blocks/notice.html @@ -0,0 +1,30 @@ +{% load i18n wagtailcore_tags wagtail_dsfr_tags %} +{% translate "Hide message" as hide_message %} +{% translate "Consultation link" as consultation_link %} +{% translate "Opens a new window" as new_window_label %} +
+
+
+ {{ SiteConfig.notice_title | richtext | richtext_p_add_class:"fr-notice__title" | richtext_p_add_class:SiteConfig.notice_icon_class }} + {% if SiteConfig.notice_description %} + {{ SiteConfig.notice_description | richtext | richtext_p_add_class:"fr-notice__desc" }} + {% endif %} + {% if SiteConfig.notice_link %} +

+ {{ consultation_link }} +

+ {% endif %} + {% if SiteConfig.notice_is_collapsible %} + + {% endif %} +
+
+
From b52954f0ad8ca79a0f3dc60029b5a48f79436aba Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Fri, 23 Aug 2024 16:28:50 +0200 Subject: [PATCH 3/4] Update test --- content_manager/tests/test_views.py | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/content_manager/tests/test_views.py b/content_manager/tests/test_views.py index 10889185..db9a6636 100644 --- a/content_manager/tests/test_views.py +++ b/content_manager/tests/test_views.py @@ -124,18 +124,7 @@ def test_notice_can_be_set(self): url = self.content_page.url response = self.client.get(url) - self.assertInHTML( - """
-
-
-

- Ceci est une information importante et temporaire. -

-
-
-
""", - response.content.decode(), - ) + self.assertContains(response, self.config.notice_title) def test_beta_tag_is_not_set_by_default(self): url = self.content_page.url @@ -164,10 +153,7 @@ def test_footer_description_uses_conf(self): self.config.refresh_from_db() - self.assertContains( - response, - self.config.footer_description, - ) + self.assertContains(response, self.config.footer_description) class MenusTestCase(WagtailPageTestCase): From 51632c1e94ed50d537340c2afc83f198c48d8198 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Fri, 23 Aug 2024 19:16:05 +0200 Subject: [PATCH 4/4] Update form to not rely on the obsolete tag dsfr_form --- config/forms/baseform.py | 2 -- .../wagtailadmin/account/password_reset/confirm.html | 3 ++- .../templates/wagtailadmin/account/password_reset/form.html | 2 +- events/forms.py | 2 +- forms/apps.py | 2 +- forms/models.py | 6 ++++-- forms/templates/forms/form_page.html | 2 +- 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/config/forms/baseform.py b/config/forms/baseform.py index d1d111c7..4f830cf3 100644 --- a/config/forms/baseform.py +++ b/config/forms/baseform.py @@ -4,8 +4,6 @@ class SitesFacilesBaseForm(DsfrBaseForm): # Subclassing the Dsfr base form to set autofocus on the first error found when applicable - template_name = "dsfr/form_snippet.html" - def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.set_autofocus_on_first_error() diff --git a/dashboard/templates/wagtailadmin/account/password_reset/confirm.html b/dashboard/templates/wagtailadmin/account/password_reset/confirm.html index fb5c3fa3..8f40616b 100644 --- a/dashboard/templates/wagtailadmin/account/password_reset/confirm.html +++ b/dashboard/templates/wagtailadmin/account/password_reset/confirm.html @@ -15,7 +15,8 @@

{% translate "Set your new password" %}

{% csrf_token %} - {% dsfr_form %} + {% dsfr_form_field form.new_password1 %} + {% dsfr_form_field form.new_password2 %}
diff --git a/dashboard/templates/wagtailadmin/account/password_reset/form.html b/dashboard/templates/wagtailadmin/account/password_reset/form.html index fb4a5072..7bf952b6 100644 --- a/dashboard/templates/wagtailadmin/account/password_reset/form.html +++ b/dashboard/templates/wagtailadmin/account/password_reset/form.html @@ -13,7 +13,7 @@

{% translate "Reset your password" %}

{% csrf_token %} - {% dsfr_form %} + {% dsfr_form_field form.email %}
diff --git a/events/forms.py b/events/forms.py index d5e601f9..457a8093 100644 --- a/events/forms.py +++ b/events/forms.py @@ -5,7 +5,7 @@ class EventSearchForm(SitesFacilesBaseForm): - """Main form for search engine.""" + """Main form for events page list.""" date_from = forms.DateField( label=_("From…"), diff --git a/forms/apps.py b/forms/apps.py index ec22dd82..e4f47388 100644 --- a/forms/apps.py +++ b/forms/apps.py @@ -2,5 +2,5 @@ class FormsConfig(AppConfig): - default_auto_field = "django.db.models.BigAutoField" + default_auto_field = "django.db.models.BigAutoField" # type: ignore name = "forms" diff --git a/forms/models.py b/forms/models.py index 681d5044..b2450885 100644 --- a/forms/models.py +++ b/forms/models.py @@ -37,11 +37,13 @@ class Meta: verbose_name_plural = _("Form fields") -class SitesFacilesBaseForm(BaseForm): +class SitesFacilesCustomForm(BaseForm): """ A base form that adds the necessary DSFR class on relevant fields """ + template_name = "dsfr/form_snippet.html" # type: ignore + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for visible in self.visible_fields(): @@ -63,7 +65,7 @@ def create_datetime_field(self, field, options): return forms.DateField(**options) def get_form_class(self): - return type("WagtailForm", (SitesFacilesBaseForm,), self.formfields) + return type("WagtailForm", (SitesFacilesCustomForm,), self.formfields) class FormPage(AbstractEmailForm): diff --git a/forms/templates/forms/form_page.html b/forms/templates/forms/form_page.html index f6a66386..6f19ad80 100644 --- a/forms/templates/forms/form_page.html +++ b/forms/templates/forms/form_page.html @@ -18,7 +18,7 @@

{{ page.title }}

{{ page.intro|richtext }}
{% csrf_token %} - {% dsfr_form %} + {{ form }}