From 4171d83cb5c35aae76c3042de92e4821491ddc6f Mon Sep 17 00:00:00 2001 From: Awais Qureshi Date: Tue, 27 Jun 2023 16:56:47 +0500 Subject: [PATCH] fix: Add Django 4.2 Support (#135) * fix: add Django 4.2 support. --------- Co-authored-by: Salman Nawaz Co-authored-by: UsamaSadiq --- .github/workflows/ci.yml | 7 +- edxsearch/__init__.py | 2 +- edxsearch/urls.py | 4 +- requirements/base.txt | 63 +++++++++------ requirements/ci.in | 1 - requirements/ci.txt | 44 ++++------- requirements/dev.txt | 157 ++++++++++++++++++------------------- requirements/pip-tools.txt | 18 ++--- requirements/pip.txt | 4 +- requirements/quality.txt | 106 +++++++++++++------------ requirements/testing.txt | 88 ++++++++++++--------- search/urls.py | 8 +- search/views.py | 2 +- setup.py | 2 + tox.ini | 24 +++--- 15 files changed, 270 insertions(+), 260 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 556733e9..e39fa0bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: matrix: os: [ubuntu-20.04] python-version: ['3.8'] - toxenv: [django32, quality] + toxenv: [django32, django40, django42, quality] steps: - uses: actions/checkout@v2 @@ -39,8 +39,7 @@ jobs: run: sleep 10 && tox - name: Run Coverage - if: matrix.python-version == '3.8' && matrix.toxenv=='django32' - uses: codecov/codecov-action@v1 + if: matrix.python-version == '3.8' && matrix.toxenv=='django42' + uses: codecov/codecov-action@v3 with: - flags: unittests fail_ci_if_error: true diff --git a/edxsearch/__init__.py b/edxsearch/__init__.py index a33f2731..0506050a 100644 --- a/edxsearch/__init__.py +++ b/edxsearch/__init__.py @@ -1,3 +1,3 @@ """ Container module for testing / demoing search """ -__version__ = '3.5.0' +__version__ = '3.6.0' diff --git a/edxsearch/urls.py b/edxsearch/urls.py index e509573f..62e0b9cc 100644 --- a/edxsearch/urls.py +++ b/edxsearch/urls.py @@ -1,7 +1,7 @@ """ import urls from search component to test it's operation when included within other django projects """ import django -from django.conf.urls import include, url +from django.urls import include, path # from django.contrib import admin # admin.autodiscover() @@ -10,4 +10,4 @@ # urlpatterns is the standard name to use here # pylint: disable=invalid-name -urlpatterns = [url(r'^search/', include(search.urls))] +urlpatterns = [path('search/', include(search.urls))] diff --git a/requirements/base.txt b/requirements/base.txt index bacfbfb3..71cfd11e 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,18 +1,22 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # amqp==5.1.1 # via kombu -asgiref==3.5.2 +asgiref==3.7.2 # via django -billiard==3.6.4.0 +backports-zoneinfo[tzdata]==0.2.1 + # via + # celery + # kombu +billiard==4.1.0 # via celery -celery==5.2.7 +celery==5.3.1 # via event-tracking -certifi==2022.6.15 +certifi==2023.5.7 # via elasticsearch cffi==1.15.1 # via pynacl @@ -28,11 +32,11 @@ click-didyoumean==0.3.0 # via celery click-plugins==1.1.1 # via celery -click-repl==0.2.0 +click-repl==0.3.0 # via celery code-annotations==1.3.0 # via edx-toggles -django==3.2.17 +django==3.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -44,11 +48,11 @@ django-crum==0.7.9 # via # edx-django-utils # edx-toggles -django-waffle==2.5.0 +django-waffle==3.0.0 # via # edx-django-utils # edx-toggles -edx-django-utils==5.0.0 +edx-django-utils==5.5.0 # via # edx-toggles # event-tracking @@ -62,51 +66,60 @@ event-tracking==2.1.0 # via -r requirements/base.in jinja2==3.1.2 # via code-annotations -kombu==5.2.4 +kombu==5.3.1 # via celery -markupsafe==2.1.1 +markupsafe==2.1.3 # via jinja2 -newrelic==7.14.0.177 +newrelic==8.8.0 # via edx-django-utils -pbr==5.9.0 +pbr==5.11.1 # via stevedore -prompt-toolkit==3.0.30 +prompt-toolkit==3.0.38 # via click-repl -psutil==5.9.1 +psutil==5.9.5 # via edx-django-utils pycparser==2.21 # via cffi -pymongo==3.12.3 +pymongo==3.13.0 # via event-tracking pynacl==1.5.0 # via edx-django-utils -python-slugify==6.1.2 +python-dateutil==2.8.2 + # via celery +python-slugify==8.0.1 # via code-annotations -pytz==2022.1 +pytz==2023.3 # via - # celery # django # event-tracking pyyaml==6.0 # via code-annotations six==1.16.0 # via - # click-repl # event-tracking -sqlparse==0.4.2 + # python-dateutil +sqlparse==0.4.4 # via django -stevedore==4.0.0 +stevedore==5.1.0 # via # code-annotations # edx-django-utils text-unidecode==1.3 # via python-slugify -urllib3==1.26.10 +typing-extensions==4.6.3 + # via + # asgiref + # kombu +tzdata==2023.3 + # via + # backports-zoneinfo + # celery +urllib3==1.26.16 # via elasticsearch vine==5.0.0 # via # amqp # celery # kombu -wcwidth==0.2.5 +wcwidth==0.2.6 # via prompt-toolkit diff --git a/requirements/ci.in b/requirements/ci.in index 6f35bcd8..d46aee58 100644 --- a/requirements/ci.in +++ b/requirements/ci.in @@ -1,5 +1,4 @@ # Requirements for running tests in Github Actions -c constraints.txt -codecov # Code coverage reporting tox # Virtualenv management for tests diff --git a/requirements/ci.txt b/requirements/ci.txt index fa2e2543..0ed5aa69 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,46 +1,30 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # -certifi==2022.6.15 - # via requests -charset-normalizer==2.1.0 - # via requests -codecov==2.1.12 - # via -r requirements/ci.in -coverage==6.4.2 - # via codecov -distlib==0.3.4 +distlib==0.3.6 # via virtualenv -filelock==3.7.1 +filelock==3.12.2 # via # tox # virtualenv -idna==3.3 - # via requests -packaging==21.3 +packaging==23.1 # via tox -platformdirs==2.5.2 +platformdirs==3.8.0 # via virtualenv -pluggy==1.0.0 +pluggy==1.2.0 # via tox py==1.11.0 # via tox -pyparsing==3.0.9 - # via packaging -requests==2.28.1 - # via codecov six==1.16.0 - # via - # tox - # virtualenv -toml==0.10.2 # via tox -tox==3.25.1 - # via -r requirements/ci.in -urllib3==1.26.10 - # via requests -virtualenv==20.15.1 +tomli==2.0.1 + # via tox +tox==3.28.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/ci.in +virtualenv==20.23.1 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 4318af29..18a58447 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,6 +1,6 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # @@ -9,7 +9,7 @@ amqp==5.1.1 # -r requirements/quality.txt # -r requirements/testing.txt # kombu -asgiref==3.5.2 +asgiref==3.7.2 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -19,41 +19,36 @@ astroid==2.7.3 # -r requirements/quality.txt # pylint # pylint-celery -attrs==21.4.0 +backports-zoneinfo[tzdata]==0.2.1 # via # -r requirements/quality.txt # -r requirements/testing.txt - # pytest -billiard==3.6.4.0 + # celery + # kombu +billiard==4.1.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # celery -build==0.8.0 +build==0.10.0 # via # -r requirements/pip-tools.txt # pip-tools -celery==5.2.7 +celery==5.3.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # event-tracking -certifi==2022.6.15 +certifi==2023.5.7 # via - # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/testing.txt # elasticsearch - # requests cffi==1.15.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # pynacl -charset-normalizer==2.1.0 - # via - # -r requirements/ci.txt - # requests click==8.1.3 # via # -r requirements/pip-tools.txt @@ -82,7 +77,7 @@ click-plugins==1.1.1 # -r requirements/quality.txt # -r requirements/testing.txt # celery -click-repl==0.2.0 +click-repl==0.3.0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -93,25 +88,21 @@ code-annotations==1.3.0 # -r requirements/testing.txt # edx-lint # edx-toggles -codecov==2.1.12 - # via -r requirements/ci.txt -coverage[toml]==6.4.2 +coverage[toml]==7.2.7 # via - # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/testing.txt - # codecov # pytest-cov ddt==1.3.1 # via # -c requirements/constraints.txt # -r requirements/quality.txt # -r requirements/testing.txt -distlib==0.3.4 +distlib==0.3.6 # via # -r requirements/ci.txt # virtualenv -django==3.2.17 +django==3.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt @@ -126,19 +117,19 @@ django-crum==0.7.9 # -r requirements/testing.txt # edx-django-utils # edx-toggles -django-waffle==2.5.0 +django-waffle==3.0.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # edx-django-utils # edx-toggles -edx-django-utils==5.0.0 +edx-django-utils==5.5.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # edx-toggles # event-tracking -edx-lint==5.2.4 +edx-lint==5.3.4 # via -r requirements/quality.txt edx-toggles==5.0.0 # via @@ -153,21 +144,22 @@ event-tracking==2.1.0 # via # -r requirements/quality.txt # -r requirements/testing.txt -filelock==3.7.1 +exceptiongroup==1.1.1 + # via + # -r requirements/quality.txt + # -r requirements/testing.txt + # pytest +filelock==3.12.2 # via # -r requirements/ci.txt # tox # virtualenv -idna==3.3 - # via - # -r requirements/ci.txt - # requests -iniconfig==1.1.1 +iniconfig==2.0.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # pytest -isort==5.10.1 +isort==5.12.0 # via # -r requirements/quality.txt # pylint @@ -176,16 +168,16 @@ jinja2==3.1.2 # -r requirements/quality.txt # -r requirements/testing.txt # code-annotations -kombu==5.2.4 +kombu==5.3.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # celery -lazy-object-proxy==1.7.1 +lazy-object-proxy==1.9.0 # via # -r requirements/quality.txt # astroid -markupsafe==2.1.1 +markupsafe==2.1.3 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -194,16 +186,16 @@ mccabe==0.6.1 # via # -r requirements/quality.txt # pylint -mock==4.0.3 +mock==5.0.2 # via # -r requirements/quality.txt # -r requirements/testing.txt -newrelic==7.14.0.177 +newrelic==8.8.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # edx-django-utils -packaging==21.3 +packaging==23.1 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -212,36 +204,32 @@ packaging==21.3 # build # pytest # tox -pbr==5.9.0 +pbr==5.11.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # stevedore -pep517==0.12.0 - # via - # -r requirements/pip-tools.txt - # build -pip-tools==6.8.0 +pip-tools==6.13.0 # via -r requirements/pip-tools.txt -platformdirs==2.5.2 +platformdirs==3.8.0 # via # -r requirements/ci.txt # -r requirements/quality.txt # pylint # virtualenv -pluggy==1.0.0 +pluggy==1.2.0 # via # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/testing.txt # pytest # tox -prompt-toolkit==3.0.30 +prompt-toolkit==3.0.38 # via # -r requirements/quality.txt # -r requirements/testing.txt # click-repl -psutil==5.9.1 +psutil==5.9.5 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -249,11 +237,8 @@ psutil==5.9.1 py==1.11.0 # via # -r requirements/ci.txt - # -r requirements/quality.txt - # -r requirements/testing.txt - # pytest # tox -pycodestyle==2.8.0 +pycodestyle==2.10.0 # via -r requirements/quality.txt pycparser==2.21 # via @@ -276,12 +261,12 @@ pylint-django==2.5.3 # via # -r requirements/quality.txt # edx-lint -pylint-plugin-utils==0.7 +pylint-plugin-utils==0.8.2 # via # -r requirements/quality.txt # pylint-celery # pylint-django -pymongo==3.12.3 +pymongo==3.13.0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -291,32 +276,33 @@ pynacl==1.5.0 # -r requirements/quality.txt # -r requirements/testing.txt # edx-django-utils -pyparsing==3.0.9 +pyproject-hooks==1.0.0 # via - # -r requirements/ci.txt # -r requirements/pip-tools.txt + # build +pytest==7.4.0 + # via # -r requirements/quality.txt # -r requirements/testing.txt - # packaging -pytest==7.1.2 + # pytest-cov +pytest-cov==4.1.0 # via # -r requirements/quality.txt # -r requirements/testing.txt - # pytest-cov -pytest-cov==3.0.0 +python-dateutil==2.8.2 # via # -r requirements/quality.txt # -r requirements/testing.txt -python-slugify==6.1.2 + # celery +python-slugify==8.0.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # code-annotations -pytz==2022.1 +pytz==2023.3 # via # -r requirements/quality.txt # -r requirements/testing.txt - # celery # django # event-tracking pyyaml==6.0 @@ -324,26 +310,21 @@ pyyaml==6.0 # -r requirements/quality.txt # -r requirements/testing.txt # code-annotations -requests==2.28.1 - # via - # -r requirements/ci.txt - # codecov six==1.16.0 # via # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/testing.txt - # click-repl # edx-lint # event-tracking + # python-dateutil # tox - # virtualenv -sqlparse==0.4.2 +sqlparse==0.4.4 # via # -r requirements/quality.txt # -r requirements/testing.txt # django -stevedore==4.0.0 +stevedore==5.1.0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -356,28 +337,40 @@ text-unidecode==1.3 # python-slugify toml==0.10.2 # via - # -r requirements/ci.txt # -r requirements/quality.txt # pylint - # tox tomli==2.0.1 # via + # -r requirements/ci.txt # -r requirements/pip-tools.txt # -r requirements/quality.txt # -r requirements/testing.txt # build # coverage - # pep517 + # pyproject-hooks # pytest -tox==3.25.1 - # via -r requirements/ci.txt -urllib3==1.26.10 + # tox +tox==3.28.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/ci.txt +typing-extensions==4.6.3 + # via + # -r requirements/quality.txt + # -r requirements/testing.txt + # asgiref + # kombu +tzdata==2023.3 + # via + # -r requirements/quality.txt + # -r requirements/testing.txt + # backports-zoneinfo + # celery +urllib3==1.26.16 + # via # -r requirements/quality.txt # -r requirements/testing.txt # elasticsearch - # requests vine==5.0.0 # via # -r requirements/quality.txt @@ -385,16 +378,16 @@ vine==5.0.0 # amqp # celery # kombu -virtualenv==20.15.1 +virtualenv==20.23.1 # via # -r requirements/ci.txt # tox -wcwidth==0.2.5 +wcwidth==0.2.6 # via # -r requirements/quality.txt # -r requirements/testing.txt # prompt-toolkit -wheel==0.37.1 +wheel==0.40.0 # via # -r requirements/pip-tools.txt # pip-tools diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index f49a9d41..8620fabd 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,23 +4,19 @@ # # make upgrade # -build==0.8.0 +build==0.10.0 # via pip-tools click==8.1.3 # via pip-tools -packaging==21.3 +packaging==23.1 # via build -pep517==0.12.0 - # via build -pip-tools==6.8.0 +pip-tools==6.13.0 # via -r requirements/pip-tools.in -pyparsing==3.0.9 - # via packaging +pyproject-hooks==1.0.0 + # via build tomli==2.0.1 - # via - # build - # pep517 -wheel==0.37.1 + # via build +wheel==0.40.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index a1ebd56c..8a5a6e3b 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -11,6 +11,4 @@ wheel==0.37.1 pip==22.0.3 # via -r requirements/pip.in setuptools==59.8.0 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/pip.in + # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 5592fa20..832f3232 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -1,6 +1,6 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # @@ -8,7 +8,7 @@ amqp==5.1.1 # via # -r requirements/testing.txt # kombu -asgiref==3.5.2 +asgiref==3.7.2 # via # -r requirements/testing.txt # django @@ -16,19 +16,20 @@ astroid==2.7.3 # via # pylint # pylint-celery -attrs==21.4.0 +backports-zoneinfo[tzdata]==0.2.1 # via # -r requirements/testing.txt - # pytest -billiard==3.6.4.0 + # celery + # kombu +billiard==4.1.0 # via # -r requirements/testing.txt # celery -celery==5.2.7 +celery==5.3.1 # via # -r requirements/testing.txt # event-tracking -certifi==2022.6.15 +certifi==2023.5.7 # via # -r requirements/testing.txt # elasticsearch @@ -57,7 +58,7 @@ click-plugins==1.1.1 # via # -r requirements/testing.txt # celery -click-repl==0.2.0 +click-repl==0.3.0 # via # -r requirements/testing.txt # celery @@ -66,7 +67,7 @@ code-annotations==1.3.0 # -r requirements/testing.txt # edx-lint # edx-toggles -coverage[toml]==6.4.2 +coverage[toml]==7.2.7 # via # -r requirements/quality.in # -r requirements/testing.txt @@ -75,7 +76,7 @@ ddt==1.3.1 # via # -c requirements/constraints.txt # -r requirements/testing.txt -django==3.2.17 +django==3.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/testing.txt @@ -88,17 +89,17 @@ django-crum==0.7.9 # -r requirements/testing.txt # edx-django-utils # edx-toggles -django-waffle==2.5.0 +django-waffle==3.0.0 # via # -r requirements/testing.txt # edx-django-utils # edx-toggles -edx-django-utils==5.0.0 +edx-django-utils==5.5.0 # via # -r requirements/testing.txt # edx-toggles # event-tracking -edx-lint==5.2.4 +edx-lint==5.3.4 # via -r requirements/quality.in edx-toggles==5.0.0 # via -r requirements/testing.txt @@ -108,61 +109,61 @@ elasticsearch==7.13.4 # -r requirements/testing.txt event-tracking==2.1.0 # via -r requirements/testing.txt -iniconfig==1.1.1 +exceptiongroup==1.1.1 + # via + # -r requirements/testing.txt + # pytest +iniconfig==2.0.0 # via # -r requirements/testing.txt # pytest -isort==5.10.1 +isort==5.12.0 # via pylint jinja2==3.1.2 # via # -r requirements/testing.txt # code-annotations -kombu==5.2.4 +kombu==5.3.1 # via # -r requirements/testing.txt # celery -lazy-object-proxy==1.7.1 +lazy-object-proxy==1.9.0 # via astroid -markupsafe==2.1.1 +markupsafe==2.1.3 # via # -r requirements/testing.txt # jinja2 mccabe==0.6.1 # via pylint -mock==4.0.3 +mock==5.0.2 # via -r requirements/testing.txt -newrelic==7.14.0.177 +newrelic==8.8.0 # via # -r requirements/testing.txt # edx-django-utils -packaging==21.3 +packaging==23.1 # via # -r requirements/testing.txt # pytest -pbr==5.9.0 +pbr==5.11.1 # via # -r requirements/testing.txt # stevedore -platformdirs==2.5.2 +platformdirs==3.8.0 # via pylint -pluggy==1.0.0 +pluggy==1.2.0 # via # -r requirements/testing.txt # pytest -prompt-toolkit==3.0.30 +prompt-toolkit==3.0.38 # via # -r requirements/testing.txt # click-repl -psutil==5.9.1 +psutil==5.9.5 # via # -r requirements/testing.txt # edx-django-utils -py==1.11.0 - # via - # -r requirements/testing.txt - # pytest -pycodestyle==2.8.0 +pycodestyle==2.10.0 # via -r requirements/quality.in pycparser==2.21 # via @@ -179,11 +180,11 @@ pylint-celery==0.3 # via edx-lint pylint-django==2.5.3 # via edx-lint -pylint-plugin-utils==0.7 +pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pymongo==3.12.3 +pymongo==3.13.0 # via # -r requirements/testing.txt # event-tracking @@ -191,24 +192,23 @@ pynacl==1.5.0 # via # -r requirements/testing.txt # edx-django-utils -pyparsing==3.0.9 - # via - # -r requirements/testing.txt - # packaging -pytest==7.1.2 +pytest==7.4.0 # via # -r requirements/testing.txt # pytest-cov -pytest-cov==3.0.0 +pytest-cov==4.1.0 # via -r requirements/testing.txt -python-slugify==6.1.2 +python-dateutil==2.8.2 + # via + # -r requirements/testing.txt + # celery +python-slugify==8.0.1 # via # -r requirements/testing.txt # code-annotations -pytz==2022.1 +pytz==2023.3 # via # -r requirements/testing.txt - # celery # django # event-tracking pyyaml==6.0 @@ -218,14 +218,14 @@ pyyaml==6.0 six==1.16.0 # via # -r requirements/testing.txt - # click-repl # edx-lint # event-tracking -sqlparse==0.4.2 + # python-dateutil +sqlparse==0.4.4 # via # -r requirements/testing.txt # django -stevedore==4.0.0 +stevedore==5.1.0 # via # -r requirements/testing.txt # code-annotations @@ -241,7 +241,17 @@ tomli==2.0.1 # -r requirements/testing.txt # coverage # pytest -urllib3==1.26.10 +typing-extensions==4.6.3 + # via + # -r requirements/testing.txt + # asgiref + # kombu +tzdata==2023.3 + # via + # -r requirements/testing.txt + # backports-zoneinfo + # celery +urllib3==1.26.16 # via # -r requirements/testing.txt # elasticsearch @@ -251,7 +261,7 @@ vine==5.0.0 # amqp # celery # kombu -wcwidth==0.2.5 +wcwidth==0.2.6 # via # -r requirements/testing.txt # prompt-toolkit diff --git a/requirements/testing.txt b/requirements/testing.txt index 6de489d7..ba18e4d5 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -1,6 +1,6 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # @@ -8,21 +8,24 @@ amqp==5.1.1 # via # -r requirements/base.txt # kombu -asgiref==3.5.2 +asgiref==3.7.2 # via # -r requirements/base.txt # django -attrs==21.4.0 - # via pytest -billiard==3.6.4.0 +backports-zoneinfo[tzdata]==0.2.1 + # via + # -r requirements/base.txt + # celery + # kombu +billiard==4.1.0 # via # -r requirements/base.txt # celery -celery==5.2.7 +celery==5.3.1 # via # -r requirements/base.txt # event-tracking -certifi==2022.6.15 +certifi==2023.5.7 # via # -r requirements/base.txt # elasticsearch @@ -47,7 +50,7 @@ click-plugins==1.1.1 # via # -r requirements/base.txt # celery -click-repl==0.2.0 +click-repl==0.3.0 # via # -r requirements/base.txt # celery @@ -55,7 +58,7 @@ code-annotations==1.3.0 # via # -r requirements/base.txt # edx-toggles -coverage[toml]==6.4.2 +coverage[toml]==7.2.7 # via # -r requirements/testing.in # pytest-cov @@ -75,12 +78,12 @@ django-crum==0.7.9 # -r requirements/base.txt # edx-django-utils # edx-toggles -django-waffle==2.5.0 +django-waffle==3.0.0 # via # -r requirements/base.txt # edx-django-utils # edx-toggles -edx-django-utils==5.0.0 +edx-django-utils==5.5.0 # via # -r requirements/base.txt # edx-toggles @@ -93,49 +96,49 @@ elasticsearch==7.13.4 # -r requirements/base.txt event-tracking==2.1.0 # via -r requirements/base.txt -iniconfig==1.1.1 +exceptiongroup==1.1.1 + # via pytest +iniconfig==2.0.0 # via pytest jinja2==3.1.2 # via # -r requirements/base.txt # code-annotations -kombu==5.2.4 +kombu==5.3.1 # via # -r requirements/base.txt # celery -markupsafe==2.1.1 +markupsafe==2.1.3 # via # -r requirements/base.txt # jinja2 -mock==4.0.3 +mock==5.0.2 # via -r requirements/testing.in -newrelic==7.14.0.177 +newrelic==8.8.0 # via # -r requirements/base.txt # edx-django-utils -packaging==21.3 +packaging==23.1 # via pytest -pbr==5.9.0 +pbr==5.11.1 # via # -r requirements/base.txt # stevedore -pluggy==1.0.0 +pluggy==1.2.0 # via pytest -prompt-toolkit==3.0.30 +prompt-toolkit==3.0.38 # via # -r requirements/base.txt # click-repl -psutil==5.9.1 +psutil==5.9.5 # via # -r requirements/base.txt # edx-django-utils -py==1.11.0 - # via pytest pycparser==2.21 # via # -r requirements/base.txt # cffi -pymongo==3.12.3 +pymongo==3.13.0 # via # -r requirements/base.txt # event-tracking @@ -143,20 +146,21 @@ pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pyparsing==3.0.9 - # via packaging -pytest==7.1.2 +pytest==7.4.0 # via pytest-cov -pytest-cov==3.0.0 +pytest-cov==4.1.0 # via -r requirements/testing.in -python-slugify==6.1.2 +python-dateutil==2.8.2 + # via + # -r requirements/base.txt + # celery +python-slugify==8.0.1 # via # -r requirements/base.txt # code-annotations -pytz==2022.1 +pytz==2023.3 # via # -r requirements/base.txt - # celery # django # event-tracking pyyaml==6.0 @@ -166,13 +170,13 @@ pyyaml==6.0 six==1.16.0 # via # -r requirements/base.txt - # click-repl # event-tracking -sqlparse==0.4.2 + # python-dateutil +sqlparse==0.4.4 # via # -r requirements/base.txt # django -stevedore==4.0.0 +stevedore==5.1.0 # via # -r requirements/base.txt # code-annotations @@ -185,7 +189,17 @@ tomli==2.0.1 # via # coverage # pytest -urllib3==1.26.10 +typing-extensions==4.6.3 + # via + # -r requirements/base.txt + # asgiref + # kombu +tzdata==2023.3 + # via + # -r requirements/base.txt + # backports-zoneinfo + # celery +urllib3==1.26.16 # via # -r requirements/base.txt # elasticsearch @@ -195,7 +209,7 @@ vine==5.0.0 # amqp # celery # kombu -wcwidth==0.2.5 +wcwidth==0.2.6 # via # -r requirements/base.txt # prompt-toolkit diff --git a/search/urls.py b/search/urls.py index a3b49f68..ddf59c42 100644 --- a/search/urls.py +++ b/search/urls.py @@ -1,7 +1,7 @@ """ expose courseware search http interface """ from django.conf import settings -from django.conf.urls import url +from django.urls import path, re_path from . import views @@ -10,7 +10,7 @@ # urlpatterns is the standard name to use here # pylint: disable=invalid-name urlpatterns = [ - url(r'^$', views.do_search, name='do_search'), - url(r'^{}$'.format(COURSE_ID_PATTERN), views.do_search, name='do_search'), - url(r'^course_discovery/$', views.course_discovery, name='course_discovery'), + path('', views.do_search, name='do_search'), + re_path(r'^{}$'.format(COURSE_ID_PATTERN), views.do_search, name='do_search'), + path('course_discovery/', views.course_discovery, name='course_discovery'), ] diff --git a/search/views.py b/search/views.py index 40dd640b..c59f7463 100644 --- a/search/views.py +++ b/search/views.py @@ -6,7 +6,7 @@ from django.conf import settings from django.http import JsonResponse -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from django.views.decorators.http import require_POST from eventtracking import tracker as track diff --git a/setup.py b/setup.py index d5874b48..b12433d0 100755 --- a/setup.py +++ b/setup.py @@ -70,6 +70,8 @@ def get_version(*file_paths): 'Framework :: Django :: 3.0', 'Framework :: Django :: 3.1', 'Framework :: Django :: 3.2', + 'Framework :: Django :: 4.0', + 'Framework :: Django :: 4.2', ], packages=['search', 'search.tests', 'edxsearch'], install_requires=load_requirements('requirements/base.in') diff --git a/tox.ini b/tox.ini index a5d30f48..5725d943 100644 --- a/tox.ini +++ b/tox.ini @@ -1,22 +1,24 @@ [tox] -envlist = py38-django{32},quality +envlist = py38-django{32,40,42},quality [testenv] setenv = - DJANGO_SETTINGS_MODULE = edxsearch.settings - PYTHONPATH = {toxinidir} -deps = - django32: Django>=3.2,<4.0 - -r {toxinidir}/requirements/testing.txt + DJANGO_SETTINGS_MODULE = edxsearch.settings + PYTHONPATH = {toxinidir} +deps = + django32: Django>=3.2,<4.0 + django40: Django>=4.0,<4.1 + django42: Django>=4.2,<4.3 + -r {toxinidir}/requirements/testing.txt commands = - python -Wd -m coverage run manage.py test --settings=settings {posargs} - coverage report + python -Wd -m coverage run manage.py test --settings=settings {posargs} + python -m coverage xml [testenv:quality] whitelist_externals = - make + make deps = - -r{toxinidir}/requirements/quality.txt + -r{toxinidir}/requirements/quality.txt commands = - make quality + make quality