diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1e2d1c5..9e6c687 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: [django22, django30, django31, django32, quality, csslint, eslint] + toxenv: [django32, django42, quality, csslint, eslint] steps: - uses: actions/checkout@v2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cbe09b..4bd21a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,4 +30,7 @@ Version 0.5 Version 1.1.0 Added support for django 3.2 +Version 1.2.0 + + Added support for django 4.2 \ No newline at end of file diff --git a/setup.py b/setup.py index 4122493..610a2dc 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ from setuptools import find_packages, setup -version = '1.1.3' +version = '1.2.0' description = __doc__.strip().split('\n')[0] this_directory = path.abspath(path.dirname(__file__)) with open(path.join(this_directory, 'README.rst')) as file_in: @@ -121,10 +121,8 @@ def is_requirement(line): 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.8', 'Framework :: Django', - 'Framework :: Django :: 2.2', - 'Framework :: Django :: 3.0', - 'Framework :: Django :: 3.1', 'Framework :: Django :: 3.2', + 'Framework :: Django :: 4.2', 'Topic :: Education', 'Topic :: Internet :: WWW/HTTP', ], diff --git a/submit_and_compare/views.py b/submit_and_compare/views.py index 9b5c239..7025dc9 100644 --- a/submit_and_compare/views.py +++ b/submit_and_compare/views.py @@ -3,8 +3,8 @@ """ import logging -from django.utils.translation import ungettext -from django.utils.translation import ugettext as _ +from django.utils.translation import ngettext +from django.utils.translation import gettext as _ from lxml import etree from six import StringIO from xblock.core import XBlock @@ -237,7 +237,7 @@ def _get_used_attempts_feedback(self): result = '' if self.max_attempts > 0: # pylint: disable=no-member - result = ungettext( + result = ngettext( 'You have used {count_attempts} of {max_attempts} submission', 'You have used {count_attempts} of {max_attempts} submissions', self.max_attempts, @@ -280,7 +280,7 @@ def _get_problem_progress(self): result = '' elif self.score == 0.0: result = "({})".format( - ungettext( + ngettext( '{weight} point possible', '{weight} points possible', self.weight, @@ -292,7 +292,7 @@ def _get_problem_progress(self): scaled_score = self.score * self.weight score_string = f'{scaled_score:g}' result = "({})".format( - ungettext( + ngettext( score_string + '/' + "{weight} point", score_string + '/' + "{weight} points", self.weight, diff --git a/tox.ini b/tox.ini index 0bde23f..5ec71cf 100644 --- a/tox.ini +++ b/tox.ini @@ -1,30 +1,28 @@ [tox] -envlist = csslint,eslint,pycodestyle,pylint,py38-django{22,30,31,32} +envlist = csslint,eslint,pycodestyle,pylint,py38-django{32,42} [testenv] deps = - django22: Django>=2.2,<2.3 - django30: Django>=3.0,<3.1 - django31: Django>=3.1,<3.2 - django32: Django>=3.2,<4.0 - -rrequirements/test.txt + django32: Django>=3.2,<4.0 + django42: Django>=4.2,<4.3 + -rrequirements/test.txt commands = - coverage run manage.py test - coverage report - coverage html + coverage run manage.py test + coverage report + coverage html [testenv:clean] commands = - coverage erase + coverage erase deps = - -rrequirements/test.txt + -rrequirements/test.txt skip_install = True [testenv:csslint] whitelist_externals = {toxinidir}/node_modules/csslint/dist/cli.js passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH commands = - {toxinidir}/node_modules/csslint/dist/cli.js submit_and_compare/public/ + {toxinidir}/node_modules/csslint/dist/cli.js submit_and_compare/public/ deps = skip_install = True @@ -32,21 +30,21 @@ skip_install = True whitelist_externals = {toxinidir}/node_modules/eslint/bin/eslint.js passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH commands = - {toxinidir}/node_modules/eslint/bin/eslint.js --fix submit_and_compare/public/view.js + {toxinidir}/node_modules/eslint/bin/eslint.js --fix submit_and_compare/public/view.js deps = skip_install = True [testenv:quality] passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH deps = - -rrequirements/quality.txt + -rrequirements/quality.txt commands = - pycodestyle --max-line-length=120 submit_and_compare/ - pylint --rcfile=pylintrc submit_and_compare/ + pycodestyle --max-line-length=120 submit_and_compare/ + pylint --rcfile=pylintrc submit_and_compare/ [testenv:transifex] deps = - transifex-client + transifex-client commands = - tx push -s + tx push -s