diff --git a/Dockerfile b/Dockerfile index 1fb98991..de4a1757 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,9 @@ FROM python:3.9-bullseye ENV PYTHONUNBUFFERED=1 -RUN apt-get update && apt-get install -y --no-install-recommends gettext-base libpq-dev -WORKDIR /code -COPY pyproject.toml /code/ -COPY poetry.lock /code/ RUN pip install poetry +WORKDIR /code +RUN apt-get update && apt-get install -y --no-install-recommends gettext-base libpq-dev +COPY pyproject.toml poetry.lock /code/ RUN poetry install --with dev --extras "postgresql" COPY . /code/ CMD ./docker/docker-entrypoint.sh \ No newline at end of file diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 1114d340..3b0a395d 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -9,7 +9,7 @@ cp -n cotisations/templates/cotisations/voucher.html templates/default_voucher.h AUTOMIGRATE=${AUTOMIGRATE:-yes} if [ "$AUTOMIGRATE" != "skip" ]; then - poetry run python3 manage.py migrate --noinput + poetry run python manage.py migrate --noinput fi cat <=3.1.0", markers = "python_version < \"3.10\""} [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] +testing = ["jaraco.collections", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)", "zipp (>=3.17)"] [[package]] name = "jinja2" @@ -1175,20 +1175,20 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyhanko" -version = "0.21.0" +version = "0.22.0" description = "Tools for stamping and signing PDF files" category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "pyHanko-0.21.0-py3-none-any.whl", hash = "sha256:0a4de2c26a55c85ee6da79fc995a7fc6a61b7520270f03251caf8977ba27ccb8"}, - {file = "pyHanko-0.21.0.tar.gz", hash = "sha256:e5609fb8a0b8d60168999cffaa382f0361066cb429204ad2b76e84e6e7f5eb93"}, + {file = "pyHanko-0.22.0-py3-none-any.whl", hash = "sha256:af2350222d011995668f462ac03378854c4d56bb684910fe9065e634dd7a6908"}, + {file = "pyHanko-0.22.0.tar.gz", hash = "sha256:7a8d50889440c435ba5e41f46c633518effa218dc76e2f88869c9e8a731b7234"}, ] [package.dependencies] asn1crypto = ">=1.5.1" click = ">=8.1.3" -cryptography = ">=41.0.5" +cryptography = ">=42.0.1" pyhanko-certvalidator = ">=0.26.2,<0.27" pyyaml = ">=6.0" qrcode = ">=7.3.1" @@ -1198,15 +1198,15 @@ tzlocal = ">=4.3" [package.extras] async-http = ["aiohttp (>=3.9.0,<3.10.0)"] docs = ["sphinx", "sphinx-rtd-theme"] -etsi = ["xsdata (>=23.8,<24.0)"] +etsi = ["xsdata (>=23.8,<25.0)"] extra-pubkey-algs = ["oscrypto (>=1.2.1)"] image-support = ["Pillow (>=7.2.0)", "python-barcode (==0.15.1)"] live-test = ["certomancer-csc-dummy (==0.2.3)", "certomancer[pkcs12,web-api] (>=0.11.0,<0.12.0)", "pyHanko[async-http,extra-pubkey-algs,testing-basic,xmp]", "pytest-aiohttp (>=1.0.4,<1.1.0)", "pytest-cov (>=4.0,<4.2)"] mypy = ["pyHanko[async-http,etsi,extra-pubkey-algs,image-support,opentype,pkcs11,xmp]", "types-PyYAML", "types-python-dateutil", "types-requests", "types-tzlocal"] -opentype = ["fonttools (>=4.33.3)", "uharfbuzz (>=0.25.0,<0.38.0)"] +opentype = ["fonttools (>=4.33.3)", "uharfbuzz (>=0.25.0,<0.40.0)"] pkcs11 = ["python-pkcs11 (>=0.7.0,<0.8.0)"] testing = ["certomancer-csc-dummy (==0.2.3)", "pyHanko[async-http,extra-pubkey-algs,image-support,opentype,pkcs11,testing-basic,xmp]", "pyHanko[etsi]", "pytest-aiohttp (>=1.0.4,<1.1.0)"] -testing-basic = ["backports.zoneinfo[tzdata]", "certomancer (>=0.11.0,<0.12.0)", "freezegun (>=1.1.0)", "pytest (>=6.1.1)", "pytest-asyncio (==0.21.1)", "pytest-cov (>=4.0,<4.2)", "requests-mock (>=1.8.0)"] +testing-basic = ["backports.zoneinfo[tzdata]", "certomancer (>=0.11.0,<0.12.0)", "freezegun (>=1.1.0)", "pytest (>=6.1.1)", "pytest-asyncio (==0.23.5)", "pytest-cov (>=4.0,<4.2)", "requests-mock (>=1.8.0)"] xmp = ["defusedxml (>=0.7.1,<0.8.0)"] [[package]] @@ -1235,14 +1235,14 @@ testing = ["aiohttp (>=3.8,<3.10)", "freezegun (>=1.1.0)", "pyhanko-certvalidato [[package]] name = "pypdf" -version = "4.0.2" +version = "4.1.0" description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "pypdf-4.0.2-py3-none-any.whl", hash = "sha256:a62daa2a24d5a608ba1b6284dde185317ce3644f89b9ebe5314d0c5d1c9f257d"}, - {file = "pypdf-4.0.2.tar.gz", hash = "sha256:3316d9ddfcff5df67ae3cdfe8b945c432aa43e7f970bae7c2a4ab4fe129cd937"}, + {file = "pypdf-4.1.0-py3-none-any.whl", hash = "sha256:16cac912a05200099cef3f347c4c7e0aaf0a6d027603b8f9a973c0ea500dff89"}, + {file = "pypdf-4.1.0.tar.gz", hash = "sha256:01c3257ec908676efd60a4537e525b89d48e0852bc92b4e0aa4cc646feda17cc"}, ] [package.dependencies] @@ -2070,4 +2070,4 @@ postgresql = ["psycopg2"] [metadata] lock-version = "2.0" python-versions = ">=3.8,<4.0" -content-hash = "eeffaf0beb4577a093c3909576f5fc8eba05c55cb53d7143d50bf002885f78b9" +content-hash = "6877ec0733c92969c4d1dd66609e41ffde9c8022203c8adc816ae376690175f7" diff --git a/pyproject.toml b/pyproject.toml index a5e8b297..5cd12a04 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,7 +53,7 @@ django-reversion = "^3.0.9" Pillow = "^8.1.0" python-dateutil = "^2.8.1" django-macaddress = "^1.7.0" -pycryptodome = ">=2.6.1" +pycryptodome = "^3.20.0" GitPython = "^3.1.13" mysqlclient = {version = "^2.0.3", optional=true} psycopg2 = {version = ">=2.8,<2.9", optional=true}