From df2549d079ec63b67b4315692a192dbc7765d8b8 Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:10:29 +0000 Subject: [PATCH 01/13] fix: update import to python3 --- poradnia/judgements/tests/test_commands.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/poradnia/judgements/tests/test_commands.py b/poradnia/judgements/tests/test_commands.py index 607304b65..128229013 100644 --- a/poradnia/judgements/tests/test_commands.py +++ b/poradnia/judgements/tests/test_commands.py @@ -3,11 +3,7 @@ from poradnia.judgements.factories import CourtFactory -try: - from StringIO import StringIO -except ImportError: - from io import StringIO - +from io import StringIO class RunCourtSessionParserTestCase(TestCase): def test_run_command_basic(self): From d3b574f4016b4f33643765ea7c83ce39a34a4808 Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:14:56 +0000 Subject: [PATCH 02/13] chore: update env for docs build --- .readthedocs.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 93e2f6a1e..0b8e158b4 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,7 +8,11 @@ sphinx: configuration: docs/conf.py formats: all +build: + os: ubuntu-22.04 + tools: + python: "3.10" + python: - version: '3.7' install: - requirements: requirements/dev.txt From e50c76003b3010e0964ddd9b235a5c35f506a4c4 Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:16:07 +0000 Subject: [PATCH 03/13] chore: make similar to feder --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 23bd49bce..89da979d7 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,10 @@ TEST= db: docker-compose up -d --remove-orphans db -up: +start: wait_mysql docker-compose up -start: +run-background: wait_mysql docker-compose up -d stop: From dd9efb5951d4656f396e84039a450813085e9c7b Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:16:36 +0000 Subject: [PATCH 04/13] chore: update dependencies --- .contrib/docker/Dockerfile.web | 9 +++++---- requirements/base.txt | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.contrib/docker/Dockerfile.web b/.contrib/docker/Dockerfile.web index 00e057275..dc5db9575 100644 --- a/.contrib/docker/Dockerfile.web +++ b/.contrib/docker/Dockerfile.web @@ -8,13 +8,14 @@ WORKDIR /code ENV PYTHONUNBUFFERED 1 RUN apt-get update \ && apt-get install -y --no-install-recommends \ - default-libmysqlclient-dev \ + python3-dev default-libmysqlclient-dev build-essential \ + default-mysql-client libssl-dev pkg-config \ gcc \ - build-essential \ git \ curl \ - gettext libgettextpo-dev wait-for-it \ -&& rm -rf /var/lib/apt/lists/* + nano \ + htop \ + gettext libgettextpo-dev wait-for-it COPY requirements/*.txt ./requirements/ RUN pip install --upgrade pip RUN pip install --no-cache-dir -r requirements/dev.txt diff --git a/requirements/base.txt b/requirements/base.txt index 5591f6904..3cb3bb417 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,4 +1,4 @@ -Django==3.2.18 +Django==3.2.23 # Configuration django-environ==0.10.0 @@ -21,7 +21,7 @@ sorl-thumbnail==12.9.0 django-allauth==0.54.0 # For the persistance stores -mysqlclient==2.1.1 +mysqlclient==2.2.0 # Unicode slugification unicode-slugify==0.1.5 @@ -53,7 +53,7 @@ sentry-sdk==1.21.0 python-dateutil==2.8.2 django-github-revision==0.0.3 zipstream-new==1.1.8 -django-teryt-tree==0.17.0 +django-teryt-tree==0.18.4 django-mptt==0.14.0 mistune==2.0.5 django-rosetta==0.9.9 From 3a727288507fe2711443fdbf04fa6d39af2dfe39 Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:17:38 +0000 Subject: [PATCH 05/13] chore: update dependencies --- requirements/dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/dev.txt b/requirements/dev.txt index 0a2207128..be988ee83 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,6 +1,6 @@ # Local development dependencies go here -r base.txt -Sphinx==6.2.1 +Sphinx==7.2.6 # django-debug-toolbar that works with Django 1.5+ django-debug-toolbar==4.0.0 From 660ca0235be60093940323b03ee387866db92704 Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:18:29 +0000 Subject: [PATCH 06/13] chore: sync db to production --- config/settings/common.py | 9 ++++++--- docker-compose.yml | 14 +++++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/config/settings/common.py b/config/settings/common.py index 9d2e10a7e..14f5055c1 100644 --- a/config/settings/common.py +++ b/config/settings/common.py @@ -148,10 +148,13 @@ DATABASES = {"default": env.db(default="mysql:///porady")} DATABASES["default"]["TEST"] = { - "CHARSET": "utf8mb4", - "COLLATION": "utf8mb4_unicode_520_ci", +# "CHARSET": "utf8mb4", +# "COLLATION": "utf8mb4_unicode_520_ci", + "CHARSET": "utf8", + "COLLATION": "utf8_polish_ci", } -DATABASES["default"]["CHARSET"] = "utf8mb4" +#DATABASES["default"]["CHARSET"] = "utf8mb4" +DATABASES["default"]["CHARSET"] = "utf" # END DATABASE CONFIGURATION diff --git a/docker-compose.yml b/docker-compose.yml index 958d08aa1..fca6fedeb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,24 @@ +--- +# yamllint disable-line-length version: '2.1' # This is application’s services configuration for development purposes only. services: db: - image: mysql:5.7 + image: mariadb:10.1 + command: >- + --character-set-server=utf8 + --collation-server=utf8_polish_ci + --max_allowed_packet=1024M + --sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION + --innodb_large_prefix=ON ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: "password" volumes: - ./.contrib/docker/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d:ro - - mysql_db:/var/lib/mysql + - mariadb-data-03:/var/lib/mysql gulp: build: @@ -77,5 +85,5 @@ services: # - imap-to-webhook-url.env volumes: - mysql_db: + mariadb-data-03: maildump_data: From d3a7421128c08448f1cb6dd71b56444849fcc5ff Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:18:46 +0000 Subject: [PATCH 07/13] version bumup --- poradnia/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poradnia/__init__.py b/poradnia/__init__.py index adf7fc890..a658a0c70 100644 --- a/poradnia/__init__.py +++ b/poradnia/__init__.py @@ -1,4 +1,4 @@ -__version__ = "1.1.13" +__version__ = "1.1.15" # Compatibility to eg. django-rest-framework From a38287e666202e006419c9b7f558b9a35e0398c0 Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:19:33 +0000 Subject: [PATCH 08/13] fix: add updated headers to avoid blocking as attacker --- poradnia/judgements/parsers/nsa.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/poradnia/judgements/parsers/nsa.py b/poradnia/judgements/parsers/nsa.py index a10fa5e9b..e2250bbe2 100644 --- a/poradnia/judgements/parsers/nsa.py +++ b/poradnia/judgements/parsers/nsa.py @@ -20,10 +20,17 @@ class NSAETRParser(BaseParser): "sygnatura": "", "symbol": "", "wydzial": "", + "typ": "", + } + HEADERS = { + "User-Agent": ( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" + " (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36" + ) } def get_content(self): - response = requests.post(self.URL, data=self.POST_DATA) + response = requests.post(self.URL, data=self.POST_DATA, headers=self.HEADERS) response.raise_for_status() return response.text From b06e722ce8db932979ba5415ef353af421852de5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 13:21:12 +0000 Subject: [PATCH 09/13] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- config/settings/common.py | 10 +++++----- poradnia/judgements/tests/test_commands.py | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/config/settings/common.py b/config/settings/common.py index 14f5055c1..4047ea6b9 100644 --- a/config/settings/common.py +++ b/config/settings/common.py @@ -148,12 +148,12 @@ DATABASES = {"default": env.db(default="mysql:///porady")} DATABASES["default"]["TEST"] = { -# "CHARSET": "utf8mb4", -# "COLLATION": "utf8mb4_unicode_520_ci", - "CHARSET": "utf8", - "COLLATION": "utf8_polish_ci", + # "CHARSET": "utf8mb4", + # "COLLATION": "utf8mb4_unicode_520_ci", + "CHARSET": "utf8", + "COLLATION": "utf8_polish_ci", } -#DATABASES["default"]["CHARSET"] = "utf8mb4" +# DATABASES["default"]["CHARSET"] = "utf8mb4" DATABASES["default"]["CHARSET"] = "utf" # END DATABASE CONFIGURATION diff --git a/poradnia/judgements/tests/test_commands.py b/poradnia/judgements/tests/test_commands.py index 128229013..7ca7dad3f 100644 --- a/poradnia/judgements/tests/test_commands.py +++ b/poradnia/judgements/tests/test_commands.py @@ -1,9 +1,10 @@ +from io import StringIO + from django.core.management import call_command from django.test import TestCase from poradnia.judgements.factories import CourtFactory -from io import StringIO class RunCourtSessionParserTestCase(TestCase): def test_run_command_basic(self): From 9cd209b291b045ccf22245797b60b44ae3580a49 Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:27:47 +0000 Subject: [PATCH 10/13] chore: update versions --- .pre-commit-config.yaml | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 07425f529..c86e2c3d2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,40 +6,40 @@ default_language_version: minimum_pre_commit_version: "1.20.0" repos: - repo: https://github.com/adamchainz/django-upgrade - rev: 1.13.0 + rev: 1.15.0 hooks: - - id: django-upgrade - args: [--target-version, "3.2"] + - id: django-upgrade + args: [--target-version, "3.2"] - repo: https://github.com/asottile/pyupgrade - rev: v3.3.2 + rev: v3.15.0 hooks: - - id: pyupgrade - args: - - --py3-only + - id: pyupgrade + args: + - --py3-only - repo: https://github.com/pycqa/isort rev: 5.12.0 hooks: - id: isort args: ["--profile", "black", "--filter-files"] - repo: https://github.com/sirosen/check-jsonschema - rev: 0.22.0 + rev: 0.27.0 hooks: - id: check-github-workflows - id: check-readthedocs - - repo: https://github.com/adrienverge/yamllint - rev: v1.31.0 + - repo: https://github.com/adrienverge/yamllint + rev: v1.33.0 hooks: - id: yamllint - repo: https://github.com/psf/black - rev: 23.3.0 + rev: 23.11.0 hooks: - - id: black - args: - - --config - - ./pyproject.toml + - id: black + args: + - --config + - ./pyproject.toml - repo: https://github.com/PyCQA/flake8 - rev: 6.0.0 + rev: 6.1.0 hooks: - - id: flake8 - args: - - --config=./setup.cfg + - id: flake8 + args: + - --config=./setup.cfg From 54c4b34331beb491acf0ac9a888960e37b9c0f1f Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:28:28 +0000 Subject: [PATCH 11/13] fix: sync database version and setup to production --- config/settings/common.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/settings/common.py b/config/settings/common.py index 14f5055c1..4047ea6b9 100644 --- a/config/settings/common.py +++ b/config/settings/common.py @@ -148,12 +148,12 @@ DATABASES = {"default": env.db(default="mysql:///porady")} DATABASES["default"]["TEST"] = { -# "CHARSET": "utf8mb4", -# "COLLATION": "utf8mb4_unicode_520_ci", - "CHARSET": "utf8", - "COLLATION": "utf8_polish_ci", + # "CHARSET": "utf8mb4", + # "COLLATION": "utf8mb4_unicode_520_ci", + "CHARSET": "utf8", + "COLLATION": "utf8_polish_ci", } -#DATABASES["default"]["CHARSET"] = "utf8mb4" +# DATABASES["default"]["CHARSET"] = "utf8mb4" DATABASES["default"]["CHARSET"] = "utf" # END DATABASE CONFIGURATION From afede80be706f963304e879c5500960174cc5ded Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:28:45 +0000 Subject: [PATCH 12/13] fix: isort --- poradnia/judgements/tests/test_commands.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/poradnia/judgements/tests/test_commands.py b/poradnia/judgements/tests/test_commands.py index 128229013..7ca7dad3f 100644 --- a/poradnia/judgements/tests/test_commands.py +++ b/poradnia/judgements/tests/test_commands.py @@ -1,9 +1,10 @@ +from io import StringIO + from django.core.management import call_command from django.test import TestCase from poradnia.judgements.factories import CourtFactory -from io import StringIO class RunCourtSessionParserTestCase(TestCase): def test_run_command_basic(self): From f53a4f9d809e0e0e885b1bc19a10fdd483ba6e9e Mon Sep 17 00:00:00 2001 From: PiotrIw Date: Tue, 5 Dec 2023 13:29:05 +0000 Subject: [PATCH 13/13] fix: cotrrect type checking --- poradnia/letters/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/poradnia/letters/utils.py b/poradnia/letters/utils.py index 022f7f009..3e0b7093d 100644 --- a/poradnia/letters/utils.py +++ b/poradnia/letters/utils.py @@ -99,7 +99,7 @@ def get_html_from_eml_file(eml_file=None): decoded_part = part.get_payload() # Decode the part based on the content type and add it to the content - if type(decoded_part) == bytes: + if type(decoded_part) is bytes: codec_map = { None: "utf-8", "windows-1252": "cp1252",