From 38970ba14891d32527841406296e77051ca487f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brayan=20Cer=C3=B3n?= <86393372+bra-i-am@users.noreply.github.com> Date: Thu, 25 Jan 2024 19:48:54 -0500 Subject: [PATCH] perf: add compatibility with Quince release (#52) BREAKING CHANGE: add compatibility with quince release * chore: update constraints & upgrade requirements * fix: modify deprecated method * fix: was mandatory to send any get_response * chore: update github-actions * docs: update README for showing quince support --- .github/workflows/bumpversion.yml | 6 +++--- .github/workflows/commitlint.yml | 2 +- .github/workflows/python-publish.yml | 2 +- .github/workflows/tests.yml | 6 +++--- README.rst | 6 ++++-- eox_theming/management/urls.py | 4 ++-- eox_theming/tests/theming/test_middleware.py | 2 +- eox_theming/urls.py | 4 ++-- requirements/base.txt | 10 +++------- requirements/constraints.txt | 4 ++-- requirements/{django.txt => django32.txt} | 0 requirements/django42.txt | 1 + requirements/pip-tools.txt | 12 +++++------- requirements/test.txt | 20 +++++++------------- requirements/tox.txt | 10 +++++----- tox.ini | 5 +++-- 16 files changed, 43 insertions(+), 51 deletions(-) rename requirements/{django.txt => django32.txt} (100%) create mode 100644 requirements/django42.txt diff --git a/.github/workflows/bumpversion.yml b/.github/workflows/bumpversion.yml index 7e3f724..e261b0e 100644 --- a/.github/workflows/bumpversion.yml +++ b/.github/workflows/bumpversion.yml @@ -11,7 +11,7 @@ jobs: previous_tag: ${{ steps.tag_version.outputs.previous_tag }} bump_commit_sha: ${{ steps.bumpversion.outputs.commit_hash }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.DEDALO_PAT }} - name: Get next version @@ -23,7 +23,7 @@ jobs: default_prerelease_bump: false dry_run: true - name: Set up Python 3.8 - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.8" - name: Create bumpversion @@ -53,7 +53,7 @@ jobs: tag: ${{ steps.tag_version.outputs.new_tag }} changelog: ${{ steps.tag_version.outputs.changelog }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.DEDALO_PAT }} - name: Create tag diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index cf63dcb..ff9fc59 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -8,4 +8,4 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: wagoid/commitlint-github-action@v5.4.4 + - uses: wagoid/commitlint-github-action@v5 diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 835bd28..a9b7d6e 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -23,7 +23,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install dependencies diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index cdd4fe1..a05468e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,8 +11,8 @@ jobs: strategy: max-parallel: 2 matrix: - python-version: ["3.8", "3.10"] - django: ["32"] + python-version: ["3.8", "3.10", "3.11"] + django: ["32","42"] steps: - name: Checkout @@ -26,7 +26,7 @@ jobs: restore-keys: | ${{ runner.os }}-pip- - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} diff --git a/README.rst b/README.rst index 51eae98..8316a83 100644 --- a/README.rst +++ b/README.rst @@ -28,6 +28,8 @@ Compatibility Notes +------------------+---------------------+ | Palm | >= 6.0 | +------------------+---------------------+ +| Quince | >= 7.0 | ++------------------+---------------------+ **NOTE**: From Lilac version Django 2.2 is not supported, you should use Django 3.2 and eox-tenant >=4.0. @@ -58,8 +60,8 @@ Koa (optional)** EOX_THEMING_EDXMAKO_BACKEND = 'eox_theming.edxapp_wrapper.backends.l_mako' -Lilac - Maple - Nutmeg - Olive - Palm -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Lilac - Maple - Nutmeg - Olive - Palm - Quince +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash diff --git a/eox_theming/management/urls.py b/eox_theming/management/urls.py index 85082e6..2295da5 100644 --- a/eox_theming/management/urls.py +++ b/eox_theming/management/urls.py @@ -1,10 +1,10 @@ """ eox_theming management urls """ -from django.conf.urls import url +from django.urls import re_path from eox_theming.management import views urlpatterns = [ - url(r'^eox-info$', views.info_view), + re_path(r'^eox-info$', views.info_view), ] diff --git a/eox_theming/tests/theming/test_middleware.py b/eox_theming/tests/theming/test_middleware.py index c670d7b..5cdab95 100644 --- a/eox_theming/tests/theming/test_middleware.py +++ b/eox_theming/tests/theming/test_middleware.py @@ -20,6 +20,6 @@ def test_theme_selected(self, module_mock): module_mock.return_value.return_value = site_theme from eox_theming.theming.middleware import EoxThemeMiddleware # pylint: disable=import-outside-toplevel - EoxThemeMiddleware().process_request(request) + EoxThemeMiddleware(get_response=lambda req: None).process_request(request) self.assertEqual(site_theme, request.site_theme) # pylint: disable=no-member diff --git a/eox_theming/urls.py b/eox_theming/urls.py index 904e55e..3076ddc 100644 --- a/eox_theming/urls.py +++ b/eox_theming/urls.py @@ -1,8 +1,8 @@ """ eox_theming URL Configuration """ -from django.conf.urls import include, url +from django.urls import include, re_path urlpatterns = [ - url(r'', include(('eox_theming.management.urls', 'eox_theming'), namespace='eox-theming-management')), + re_path(r'', include(('eox_theming.management.urls', 'eox_theming'), namespace='eox-theming-management')), ] diff --git a/requirements/base.txt b/requirements/base.txt index 104f616..1a5e4ab 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,12 +1,12 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # make upgrade # asgiref==3.7.2 # via django -django==3.2.23 +django==4.2.9 # via # -c requirements/constraints.txt # -r requirements/base.in @@ -14,13 +14,9 @@ eox-tenant==10.0.0 # via # -c requirements/constraints.txt # -r requirements/base.in -pytz==2022.7.1 - # via - # -c requirements/constraints.txt - # django six==1.16.0 # via -r requirements/base.in sqlparse==0.4.4 # via django -typing-extensions==4.8.0 +typing-extensions==4.9.0 # via asgiref diff --git a/requirements/constraints.txt b/requirements/constraints.txt index b4a0e9b..a50284f 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -9,10 +9,10 @@ # linking to it here is good. # Keep same platform version -Django<4.0 +Django<5.0 pylint<2.16.0 pycodestyle<2.9.0 -pytz<2023 +click<9.0 # Version used in Palm version of eox-tenant eox-tenant>= 10.0.0 diff --git a/requirements/django.txt b/requirements/django32.txt similarity index 100% rename from requirements/django.txt rename to requirements/django32.txt diff --git a/requirements/django42.txt b/requirements/django42.txt new file mode 100644 index 0000000..c1fb0e8 --- /dev/null +++ b/requirements/django42.txt @@ -0,0 +1 @@ +Django==4.2.8 diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index ea34731..d007451 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # make upgrade @@ -7,9 +7,9 @@ build==1.0.3 # via pip-tools click==8.1.7 - # via pip-tools -importlib-metadata==6.8.0 - # via build + # via + # -c requirements/constraints.txt + # pip-tools packaging==23.2 # via build pip-tools==7.3.0 @@ -21,10 +21,8 @@ tomli==2.0.1 # build # pip-tools # pyproject-hooks -wheel==0.41.3 +wheel==0.42.0 # via pip-tools -zipp==3.17.0 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/test.txt b/requirements/test.txt index dfa80c5..7228951 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # make upgrade @@ -12,7 +12,7 @@ astroid==2.13.5 # via # -r requirements/test.in # pylint -coverage==7.3.2 +coverage==7.4.0 # via -r requirements/test.in dill==0.3.7 # via pylint @@ -24,9 +24,9 @@ eox-tenant==10.0.0 # via # -c requirements/constraints.txt # -r requirements/base.txt -isort==5.12.0 +isort==5.13.2 # via pylint -lazy-object-proxy==1.9.0 +lazy-object-proxy==1.10.0 # via astroid mako==1.3.0 # via -r requirements/test.in @@ -36,11 +36,11 @@ mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/test.in -path==16.7.1 +path==16.9.0 # via path-py path-py==12.5.0 # via -r requirements/test.in -platformdirs==3.11.0 +platformdirs==4.1.0 # via pylint pycodestyle==2.8.0 # via @@ -50,11 +50,6 @@ pylint==2.15.10 # via # -c requirements/constraints.txt # -r requirements/test.in -pytz==2022.7.1 - # via - # -c requirements/constraints.txt - # -r requirements/base.txt - # django six==1.16.0 # via -r requirements/base.txt sqlparse==0.4.4 @@ -67,11 +62,10 @@ tomli==2.0.1 # via pylint tomlkit==0.12.3 # via pylint -typing-extensions==4.8.0 +typing-extensions==4.9.0 # via # -r requirements/base.txt # asgiref # astroid - # pylint wrapt==1.16.0 # via astroid diff --git a/requirements/tox.txt b/requirements/tox.txt index 4685671..d028ea6 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # make upgrade @@ -10,7 +10,7 @@ chardet==5.2.0 # via tox colorama==0.4.6 # via tox -distlib==0.3.7 +distlib==0.3.8 # via virtualenv filelock==3.13.1 # via @@ -20,7 +20,7 @@ packaging==23.2 # via # pyproject-api # tox -platformdirs==3.11.0 +platformdirs==4.1.0 # via # tox # virtualenv @@ -32,7 +32,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.11.3 +tox==4.12.1 # via -r requirements/tox.in -virtualenv==20.24.6 +virtualenv==20.25.0 # via tox diff --git a/tox.ini b/tox.ini index 3b0e9ab..bc413ac 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,310,311}-django{32} +envlist = py{38,310,311}-django{32,42} [testenv] @@ -9,7 +9,8 @@ envdir= py310: {toxworkdir}/py310 py311: {toxworkdir}/py311 deps = - django32: -r requirements/django.txt + django32: -r requirements/django32.txt + django42: -r requirements/django42.txt -rrequirements/test.txt commands = {posargs}