diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9b543e78..431a1b06 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8', '3.11', '3.12'] + python-version: ['3.11', '3.12'] toxenv: [django42, quality] steps: @@ -31,17 +31,19 @@ jobs: run: pip install -r requirements/pip.txt - name: Install Dependencies - run: + run: | pip install setuptools pip install -r requirements/ci.txt - name: Run Tests env: TOXENV: ${{ matrix.toxenv }} + # Sleep is needed to give elasticsearch enough time to startup. + # Longer term we should switch to the upstream ES github action to start up the server run: sleep 10 && tox - name: Run Coverage - if: matrix.python-version == '3.8' && matrix.toxenv=='django42' + if: matrix.python-version == '3.12' && matrix.toxenv=='django42' uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/Makefile b/Makefile index 8e1cfd0a..bea3f88d 100644 --- a/Makefile +++ b/Makefile @@ -25,10 +25,10 @@ validate: clean tox test.start_elasticsearch: - docker-compose up -d + docker compose up -d test.stop_elasticsearch: - docker-compose stop + docker compose stop test_with_es: clean test.start_elasticsearch coverage run --source='.' manage.py test diff --git a/docker-compose.yml b/docker-compose.yml index 5ad8701c..2be4003b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ -version: '2.2' services: test_elasticsearch: diff --git a/edxsearch/__init__.py b/edxsearch/__init__.py index 835caa16..6020c5ce 100644 --- a/edxsearch/__init__.py +++ b/edxsearch/__init__.py @@ -1,3 +1,3 @@ """ Container module for testing / demoing search """ -__version__ = '3.9.1' +__version__ = '4.0.0' diff --git a/pylintrc b/pylintrc index 8038c460..81bd0e53 100644 --- a/pylintrc +++ b/pylintrc @@ -64,7 +64,7 @@ # SERIOUSLY. # # ------------------------------ -# Generated by edx-lint version: 5.3.0 +# Generated by edx-lint version: 5.3.7 # ------------------------------ [MASTER] ignore = @@ -259,6 +259,7 @@ enable = useless-suppression, disable = bad-indentation, + broad-exception-raised, consider-using-f-string, duplicate-code, file-ignored, @@ -380,6 +381,6 @@ ext-import-graph = int-import-graph = [EXCEPTIONS] -overgeneral-exceptions = Exception +overgeneral-exceptions = builtins.Exception -# e79d284912469e90087c79e80233e873551b6ca9 +# 1a9b016a2ea1ded8c5b79b0e520a5566eba73b62 diff --git a/requirements/base.txt b/requirements/base.txt index 78cb9cd8..df520b14 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,25 +1,20 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # amqp==5.2.0 # via kombu -asgiref==3.7.2 +asgiref==3.8.1 # via django attrs==23.2.0 # via openedx-events -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # celery - # kombu billiard==4.2.0 # via celery -celery==5.3.6 +celery==5.4.0 # via event-tracking -certifi==2024.2.2 +certifi==2024.7.4 # via elasticsearch cffi==1.16.0 # via pynacl @@ -31,15 +26,15 @@ click==8.1.7 # click-repl # code-annotations # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via celery click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -code-annotations==1.6.0 +code-annotations==1.8.0 # via edx-toggles -django==3.2.24 +django==4.2.14 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -57,14 +52,18 @@ django-waffle==4.1.0 # via # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-ccx-keys==1.3.0 + # via openedx-events +edx-django-utils==5.14.2 # via # edx-toggles # event-tracking # openedx-events -edx-opaque-keys[django]==2.5.1 - # via openedx-events -edx-toggles==5.1.1 +edx-opaque-keys[django]==2.10.0 + # via + # edx-ccx-keys + # openedx-events +edx-toggles==5.2.0 # via # -r requirements/base.in # event-tracking @@ -72,27 +71,29 @@ elasticsearch==7.13.4 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in -event-tracking==2.3.0 - # via -r requirements/base.in -fastavro==1.9.4 +event-tracking==2.4.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/base.in +fastavro==1.9.5 # via openedx-events -jinja2==3.1.3 +jinja2==3.1.4 # via code-annotations -kombu==5.3.5 +kombu==5.3.7 # via celery markupsafe==2.1.5 # via jinja2 -newrelic==9.6.0 +newrelic==9.12.0 # via edx-django-utils -openedx-events==9.5.2 +openedx-events==9.11.0 # via event-tracking pbr==6.0.0 # via stevedore -prompt-toolkit==3.0.43 +prompt-toolkit==3.0.47 # via click-repl -psutil==5.9.8 +psutil==6.0.0 # via edx-django-utils -pycparser==2.21 +pycparser==2.22 # via cffi pymongo==3.13.0 # via @@ -100,39 +101,33 @@ pymongo==3.13.0 # event-tracking pynacl==1.5.0 # via edx-django-utils -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via celery python-slugify==8.0.4 # via code-annotations pytz==2024.1 - # via - # django - # event-tracking + # via event-tracking pyyaml==6.0.1 # via code-annotations six==1.16.0 # via + # edx-ccx-keys # event-tracking # python-dateutil -sqlparse==0.4.4 +sqlparse==0.5.1 # via django -stevedore==5.1.0 +stevedore==5.2.0 # via # code-annotations # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via python-slugify -typing-extensions==4.9.0 - # via - # asgiref - # edx-opaque-keys - # kombu +typing-extensions==4.12.2 + # via edx-opaque-keys tzdata==2024.1 - # via - # backports-zoneinfo - # celery -urllib3==1.26.18 + # via celery +urllib3==1.26.19 # via elasticsearch vine==5.1.0 # via diff --git a/requirements/ci.txt b/requirements/ci.txt index bd57292b..564c0f58 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,10 +1,10 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -cachetools==5.3.2 +cachetools==5.4.0 # via tox chardet==5.2.0 # via tox @@ -12,27 +12,23 @@ colorama==0.4.6 # via tox distlib==0.3.8 # via virtualenv -filelock==3.13.1 +filelock==3.15.4 # via # tox # virtualenv -packaging==23.2 +packaging==24.1 # via # pyproject-api # tox -platformdirs==4.2.0 +platformdirs==4.2.2 # via # tox # virtualenv -pluggy==1.4.0 +pluggy==1.5.0 # via tox -pyproject-api==1.6.1 +pyproject-api==1.7.1 # via tox -tomli==2.0.1 - # via - # pyproject-api - # tox -tox==4.13.0 +tox==4.16.0 # via -r requirements/ci.in -virtualenv==20.25.0 +virtualenv==20.26.3 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 4b4de066..f8f96994 100644 --- a/requirements/dev.txt +++ b/requirements/dev.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.11 # by the following command: # # make upgrade @@ -9,12 +9,12 @@ amqp==5.2.0 # -r requirements/quality.txt # -r requirements/testing.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # django -astroid==3.0.3 +astroid==3.2.4 # via # -r requirements/quality.txt # pylint @@ -24,32 +24,25 @@ attrs==23.2.0 # -r requirements/quality.txt # -r requirements/testing.txt # openedx-events -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/quality.txt - # -r requirements/testing.txt - # celery - # kombu billiard==4.2.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # celery -build==1.0.3 +build==1.2.1 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==5.3.2 +cachetools==5.4.0 # via # -r requirements/ci.txt # tox -celery==5.3.6 +celery==5.4.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # event-tracking -certifi==2024.2.2 +certifi==2024.7.4 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -77,7 +70,7 @@ click==8.1.7 # edx-django-utils # edx-lint # pip-tools -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -96,7 +89,7 @@ click-repl==0.3.0 # -r requirements/quality.txt # -r requirements/testing.txt # celery -code-annotations==1.6.0 +code-annotations==1.8.0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -106,7 +99,7 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.2 +coverage[toml]==7.6.0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -124,7 +117,7 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.24 +django==4.2.14 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt @@ -147,21 +140,27 @@ django-waffle==4.1.0 # -r requirements/testing.txt # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-ccx-keys==1.3.0 + # via + # -r requirements/quality.txt + # -r requirements/testing.txt + # openedx-events +edx-django-utils==5.14.2 # via # -r requirements/quality.txt # -r requirements/testing.txt # edx-toggles # event-tracking # openedx-events -edx-lint==5.3.6 +edx-lint==5.3.7 # via -r requirements/quality.txt -edx-opaque-keys[django]==2.5.1 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/quality.txt # -r requirements/testing.txt + # edx-ccx-keys # openedx-events -edx-toggles==5.1.1 +edx-toggles==5.2.0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -171,29 +170,21 @@ elasticsearch==7.13.4 # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # -r requirements/testing.txt -event-tracking==2.3.0 - # via - # -r requirements/quality.txt - # -r requirements/testing.txt -exceptiongroup==1.2.0 +event-tracking==2.4.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # -r requirements/testing.txt - # pytest -fastavro==1.9.4 +fastavro==1.9.5 # via # -r requirements/quality.txt # -r requirements/testing.txt # openedx-events -filelock==3.13.1 +filelock==3.15.4 # via # -r requirements/ci.txt # tox # virtualenv -importlib-metadata==7.0.1 - # via - # -r requirements/pip-tools.txt - # build iniconfig==2.0.0 # via # -r requirements/quality.txt @@ -203,12 +194,12 @@ isort==5.13.2 # via # -r requirements/quality.txt # pylint -jinja2==3.1.3 +jinja2==3.1.4 # via # -r requirements/quality.txt # -r requirements/testing.txt # code-annotations -kombu==5.3.5 +kombu==5.3.7 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -226,17 +217,17 @@ mock==5.1.0 # via # -r requirements/quality.txt # -r requirements/testing.txt -newrelic==9.6.0 +newrelic==9.12.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # edx-django-utils -openedx-events==9.5.2 +openedx-events==9.11.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # event-tracking -packaging==23.2 +packaging==24.1 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -251,40 +242,40 @@ pbr==6.0.0 # -r requirements/quality.txt # -r requirements/testing.txt # stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.txt -platformdirs==4.2.0 +platformdirs==4.2.2 # via # -r requirements/ci.txt # -r requirements/quality.txt # pylint # tox # virtualenv -pluggy==1.4.0 +pluggy==1.5.0 # via # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/testing.txt # pytest # tox -prompt-toolkit==3.0.43 +prompt-toolkit==3.0.47 # via # -r requirements/quality.txt # -r requirements/testing.txt # click-repl -psutil==5.9.8 +psutil==6.0.0 # via # -r requirements/quality.txt # -r requirements/testing.txt # edx-django-utils -pycodestyle==2.11.1 +pycodestyle==2.12.0 # via -r requirements/quality.txt -pycparser==2.21 +pycparser==2.22 # via # -r requirements/quality.txt # -r requirements/testing.txt # cffi -pylint==3.0.3 +pylint==3.2.6 # via # -r requirements/quality.txt # edx-lint @@ -315,25 +306,25 @@ pynacl==1.5.0 # -r requirements/quality.txt # -r requirements/testing.txt # edx-django-utils -pyproject-api==1.6.1 +pyproject-api==1.7.1 # via # -r requirements/ci.txt # tox -pyproject-hooks==1.0.0 +pyproject-hooks==1.1.0 # via # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.0.1 +pytest==8.3.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via # -r requirements/quality.txt # -r requirements/testing.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -347,7 +338,6 @@ pytz==2024.1 # via # -r requirements/quality.txt # -r requirements/testing.txt - # django # event-tracking pyyaml==6.0.1 # via @@ -358,15 +348,16 @@ six==1.16.0 # via # -r requirements/quality.txt # -r requirements/testing.txt + # edx-ccx-keys # edx-lint # event-tracking # python-dateutil -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/quality.txt # -r requirements/testing.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -378,42 +369,23 @@ text-unidecode==1.3 # -r requirements/quality.txt # -r requirements/testing.txt # python-slugify -tomli==2.0.1 +tomlkit==0.13.0 # via - # -r requirements/ci.txt - # -r requirements/pip-tools.txt # -r requirements/quality.txt - # -r requirements/testing.txt - # build - # coverage - # pip-tools # pylint - # pyproject-api - # pyproject-hooks - # pytest - # tox -tomlkit==0.12.3 - # via - # -r requirements/quality.txt - # pylint -tox==4.13.0 +tox==4.16.0 # via -r requirements/ci.txt -typing-extensions==4.9.0 +typing-extensions==4.12.2 # via # -r requirements/quality.txt # -r requirements/testing.txt - # asgiref - # astroid # edx-opaque-keys - # kombu - # pylint tzdata==2024.1 # via # -r requirements/quality.txt # -r requirements/testing.txt - # backports-zoneinfo # celery -urllib3==1.26.18 +urllib3==1.26.19 # via # -r requirements/quality.txt # -r requirements/testing.txt @@ -425,7 +397,7 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.25.0 +virtualenv==20.26.3 # via # -r requirements/ci.txt # tox @@ -434,14 +406,10 @@ wcwidth==0.2.13 # -r requirements/quality.txt # -r requirements/testing.txt # prompt-toolkit -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 - # via - # -r requirements/pip-tools.txt - # importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 44c48d99..b544e9f5 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,32 +1,23 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -build==1.0.3 +build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 +packaging==24.1 # via build -packaging==23.2 - # via build -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in -pyproject-hooks==1.0.0 - # via - # build - # pip-tools -tomli==2.0.1 +pyproject-hooks==1.1.0 # via # build # pip-tools - # pyproject-hooks -wheel==0.42.0 +wheel==0.43.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/pip.txt b/requirements/pip.txt index 677bf038..2b919459 100644 --- a/requirements/pip.txt +++ b/requirements/pip.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.11 # by the following command: # # make upgrade diff --git a/requirements/quality.txt b/requirements/quality.txt index 4a8c3857..dcc955c6 100644 --- a/requirements/quality.txt +++ b/requirements/quality.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.11 # by the following command: # # make upgrade @@ -8,11 +8,11 @@ amqp==5.2.0 # via # -r requirements/testing.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/testing.txt # django -astroid==3.0.3 +astroid==3.2.4 # via # pylint # pylint-celery @@ -20,21 +20,15 @@ attrs==23.2.0 # via # -r requirements/testing.txt # openedx-events -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/testing.txt - # celery - # kombu billiard==4.2.0 # via # -r requirements/testing.txt # celery -celery==5.3.6 +celery==5.4.0 # via # -r requirements/testing.txt # event-tracking -certifi==2024.2.2 +certifi==2024.7.4 # via # -r requirements/testing.txt # elasticsearch @@ -53,7 +47,7 @@ click==8.1.7 # code-annotations # edx-django-utils # edx-lint -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/testing.txt # celery @@ -67,12 +61,12 @@ click-repl==0.3.0 # via # -r requirements/testing.txt # celery -code-annotations==1.6.0 +code-annotations==1.8.0 # via # -r requirements/testing.txt # edx-lint # edx-toggles -coverage[toml]==7.4.2 +coverage[toml]==7.6.0 # via # -r requirements/quality.in # -r requirements/testing.txt @@ -83,7 +77,7 @@ ddt==1.3.1 # -r requirements/testing.txt dill==0.3.8 # via pylint -django==3.2.24 +django==4.2.14 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/testing.txt @@ -103,19 +97,24 @@ django-waffle==4.1.0 # -r requirements/testing.txt # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-ccx-keys==1.3.0 + # via + # -r requirements/testing.txt + # openedx-events +edx-django-utils==5.14.2 # via # -r requirements/testing.txt # edx-toggles # event-tracking # openedx-events -edx-lint==5.3.6 +edx-lint==5.3.7 # via -r requirements/quality.in -edx-opaque-keys[django]==2.5.1 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/testing.txt + # edx-ccx-keys # openedx-events -edx-toggles==5.1.1 +edx-toggles==5.2.0 # via # -r requirements/testing.txt # event-tracking @@ -123,13 +122,11 @@ elasticsearch==7.13.4 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/testing.txt -event-tracking==2.3.0 - # via -r requirements/testing.txt -exceptiongroup==1.2.0 +event-tracking==2.4.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/testing.txt - # pytest -fastavro==1.9.4 +fastavro==1.9.5 # via # -r requirements/testing.txt # openedx-events @@ -139,11 +136,11 @@ iniconfig==2.0.0 # pytest isort==5.13.2 # via pylint -jinja2==3.1.3 +jinja2==3.1.4 # via # -r requirements/testing.txt # code-annotations -kombu==5.3.5 +kombu==5.3.7 # via # -r requirements/testing.txt # celery @@ -155,15 +152,15 @@ mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/testing.txt -newrelic==9.6.0 +newrelic==9.12.0 # via # -r requirements/testing.txt # edx-django-utils -openedx-events==9.5.2 +openedx-events==9.11.0 # via # -r requirements/testing.txt # event-tracking -packaging==23.2 +packaging==24.1 # via # -r requirements/testing.txt # pytest @@ -171,27 +168,27 @@ pbr==6.0.0 # via # -r requirements/testing.txt # stevedore -platformdirs==4.2.0 +platformdirs==4.2.2 # via pylint -pluggy==1.4.0 +pluggy==1.5.0 # via # -r requirements/testing.txt # pytest -prompt-toolkit==3.0.43 +prompt-toolkit==3.0.47 # via # -r requirements/testing.txt # click-repl -psutil==5.9.8 +psutil==6.0.0 # via # -r requirements/testing.txt # edx-django-utils -pycodestyle==2.11.1 +pycodestyle==2.12.0 # via -r requirements/quality.in -pycparser==2.21 +pycparser==2.22 # via # -r requirements/testing.txt # cffi -pylint==3.0.3 +pylint==3.2.6 # via # edx-lint # pylint-celery @@ -214,13 +211,13 @@ pynacl==1.5.0 # via # -r requirements/testing.txt # edx-django-utils -pytest==8.0.1 +pytest==8.3.1 # via # -r requirements/testing.txt # pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/testing.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/testing.txt # celery @@ -231,7 +228,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/testing.txt - # django # event-tracking pyyaml==6.0.1 # via @@ -240,14 +236,15 @@ pyyaml==6.0.1 six==1.16.0 # via # -r requirements/testing.txt + # edx-ccx-keys # edx-lint # event-tracking # python-dateutil -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/testing.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/testing.txt # code-annotations @@ -257,28 +254,17 @@ text-unidecode==1.3 # via # -r requirements/testing.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/testing.txt - # coverage - # pylint - # pytest -tomlkit==0.12.3 +tomlkit==0.13.0 # via pylint -typing-extensions==4.9.0 +typing-extensions==4.12.2 # via # -r requirements/testing.txt - # asgiref - # astroid # edx-opaque-keys - # kombu - # pylint tzdata==2024.1 # via # -r requirements/testing.txt - # backports-zoneinfo # celery -urllib3==1.26.18 +urllib3==1.26.19 # via # -r requirements/testing.txt # elasticsearch diff --git a/requirements/testing.txt b/requirements/testing.txt index 9a1d1263..cf3cb6eb 100644 --- a/requirements/testing.txt +++ b/requirements/testing.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.11 # by the following command: # # make upgrade @@ -8,7 +8,7 @@ amqp==5.2.0 # via # -r requirements/base.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django @@ -16,21 +16,15 @@ attrs==23.2.0 # via # -r requirements/base.txt # openedx-events -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/base.txt - # celery - # kombu billiard==4.2.0 # via # -r requirements/base.txt # celery -celery==5.3.6 +celery==5.4.0 # via # -r requirements/base.txt # event-tracking -certifi==2024.2.2 +certifi==2024.7.4 # via # -r requirements/base.txt # elasticsearch @@ -47,7 +41,7 @@ click==8.1.7 # click-repl # code-annotations # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/base.txt # celery @@ -59,11 +53,11 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -code-annotations==1.6.0 +code-annotations==1.8.0 # via # -r requirements/base.txt # edx-toggles -coverage[toml]==7.4.2 +coverage[toml]==7.6.0 # via # -r requirements/testing.in # pytest-cov @@ -90,17 +84,22 @@ django-waffle==4.1.0 # -r requirements/base.txt # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-ccx-keys==1.3.0 + # via + # -r requirements/base.txt + # openedx-events +edx-django-utils==5.14.2 # via # -r requirements/base.txt # edx-toggles # event-tracking # openedx-events -edx-opaque-keys[django]==2.5.1 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/base.txt + # edx-ccx-keys # openedx-events -edx-toggles==5.1.1 +edx-toggles==5.2.0 # via # -r requirements/base.txt # event-tracking @@ -108,21 +107,21 @@ elasticsearch==7.13.4 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt -event-tracking==2.3.0 - # via -r requirements/base.txt -exceptiongroup==1.2.0 - # via pytest -fastavro==1.9.4 +event-tracking==2.4.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/base.txt +fastavro==1.9.5 # via # -r requirements/base.txt # openedx-events iniconfig==2.0.0 # via pytest -jinja2==3.1.3 +jinja2==3.1.4 # via # -r requirements/base.txt # code-annotations -kombu==5.3.5 +kombu==5.3.7 # via # -r requirements/base.txt # celery @@ -132,31 +131,31 @@ markupsafe==2.1.5 # jinja2 mock==5.1.0 # via -r requirements/testing.in -newrelic==9.6.0 +newrelic==9.12.0 # via # -r requirements/base.txt # edx-django-utils -openedx-events==9.5.2 +openedx-events==9.11.0 # via # -r requirements/base.txt # event-tracking -packaging==23.2 +packaging==24.1 # via pytest pbr==6.0.0 # via # -r requirements/base.txt # stevedore -pluggy==1.4.0 +pluggy==1.5.0 # via pytest -prompt-toolkit==3.0.43 +prompt-toolkit==3.0.47 # via # -r requirements/base.txt # click-repl -psutil==5.9.8 +psutil==6.0.0 # via # -r requirements/base.txt # edx-django-utils -pycparser==2.21 +pycparser==2.22 # via # -r requirements/base.txt # cffi @@ -169,11 +168,11 @@ pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pytest==8.0.1 +pytest==8.3.1 # via pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/testing.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # celery @@ -184,7 +183,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/base.txt - # django # event-tracking pyyaml==6.0.1 # via @@ -193,13 +191,14 @@ pyyaml==6.0.1 six==1.16.0 # via # -r requirements/base.txt + # edx-ccx-keys # event-tracking # python-dateutil -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/base.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/base.txt # code-annotations @@ -209,22 +208,15 @@ text-unidecode==1.3 # via # -r requirements/base.txt # python-slugify -tomli==2.0.1 - # via - # coverage - # pytest -typing-extensions==4.9.0 +typing-extensions==4.12.2 # via # -r requirements/base.txt - # asgiref # edx-opaque-keys - # kombu tzdata==2024.1 # via # -r requirements/base.txt - # backports-zoneinfo # celery -urllib3==1.26.18 +urllib3==1.26.19 # via # -r requirements/base.txt # elasticsearch diff --git a/search/result_processor.py b/search/result_processor.py index 24ba1b57..8f54f2a7 100644 --- a/search/result_processor.py +++ b/search/result_processor.py @@ -115,7 +115,7 @@ def process_result(cls, dictionary, match_phrase, user): try: srp.add_properties() # protect around any problems introduced by subclasses within their properties - except Exception as ex: + except Exception as ex: # pylint: disable=broad-exception-caught log.exception("error processing properties for %s - %s: will remove from results", json.dumps(dictionary, cls=DjangoJSONEncoder), str(ex)) return None diff --git a/search/tests/mock_search_engine.py b/search/tests/mock_search_engine.py index 4974c80e..0b498f0a 100644 --- a/search/tests/mock_search_engine.py +++ b/search/tests/mock_search_engine.py @@ -385,8 +385,7 @@ def score_documents(documents_to_search): while documents_to_search: current_doc = documents_to_search[0] score = len([d for d in documents_to_search if d == current_doc]) - if score > max_score: - max_score = score + max_score = max(max_score, score) documents_to_search = [d for d in documents_to_search if d != current_doc] data = copy.copy(current_doc) diff --git a/search/views.py b/search/views.py index cda536b2..e9e0bcc4 100644 --- a/search/views.py +++ b/search/views.py @@ -122,7 +122,7 @@ def do_search(request, course_id=None): } log.debug(str(invalid_err)) - except Exception as err: + except Exception as err: # pylint: disable=broad-exception-caught results = { "error": _('An error occurred when searching for "{search_string}"').format(search_string=search_term) } @@ -207,7 +207,7 @@ def course_discovery(request): } log.debug(str(invalid_err)) - except Exception as err: + except Exception as err: # pylint: disable=broad-exception-caught results = { "error": _('An error occurred when searching for "{search_string}"').format(search_string=search_term) } diff --git a/setup.py b/setup.py index 9685ebea..eec63771 100755 --- a/setup.py +++ b/setup.py @@ -69,8 +69,8 @@ def get_version(*file_paths): 'License :: OSI Approved :: GNU Affero General Public License v3', 'Operating System :: OS Independent', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Framework :: Django', 'Framework :: Django :: 2.2', 'Framework :: Django :: 3.0', diff --git a/tox.ini b/tox.ini index 19cc118f..20d4e9cb 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,311,312}-django{42},quality +envlist = py{311,312}-django{42},quality [testenv] setenv =