Fix compatibility with Django 2.1

Ref: https://github.com/django/django/pull/9894
Closes: https://github.com/jazzband/django-configurations/pull/201
This commit is contained in:
Daniel Hahler 2018-07-11 22:13:09 +02:00
parent b1d92cf85d
commit fbb0ff8884
3 changed files with 15 additions and 4 deletions

View file

@ -49,6 +49,8 @@ matrix:
python: 3.5 python: 3.5
- env: TOXENV=py36-dj20 - env: TOXENV=py36-dj20
python: 3.6 python: 3.6
- env: TOXENV=py36-dj21
python: 3.6
- env: TOXENV=py36-djmaster - env: TOXENV=py36-djmaster
python: 3.6 python: 3.6
allow_failures: allow_failures:

View file

@ -82,9 +82,16 @@ class ConfigurationImporter(object):
return os.environ.get(self.namevar) return os.environ.get(self.namevar)
def check_options(self): def check_options(self):
parser = base.CommandParser(None, try:
usage="%(prog)s subcommand [options] [args]", parser = base.CommandParser(
add_help=False) usage="%(prog)s subcommand [options] [args]",
add_help=False)
except TypeError:
# Django before 2.1 used a `cmd` argument.
parser = base.CommandParser(
None,
usage="%(prog)s subcommand [options] [args]",
add_help=False)
parser.add_argument('--settings') parser.add_argument('--settings')
parser.add_argument('--pythonpath') parser.add_argument('--pythonpath')
parser.add_argument(CONFIGURATION_ARGUMENT, parser.add_argument(CONFIGURATION_ARGUMENT,

View file

@ -8,7 +8,8 @@ envlist =
flake8-py36, flake8-py36,
readme-py27, readme-py27,
py{27,34,35,36,py}-dj{18,110,111} py{27,34,35,36,py}-dj{18,110,111}
py{34,35,36}-dj{20,master} py{34,35,36,37}-dj20
py{35,36,37}-dj{21,master}
[testenv] [testenv]
usedevelop = true usedevelop = true
@ -21,6 +22,7 @@ deps =
dj110: django>=1.10,<1.11 dj110: django>=1.10,<1.11
dj111: django>=1.11,<2.0 dj111: django>=1.11,<2.0
dj20: django>=2.0a1,<2.1 dj20: django>=2.0a1,<2.1
dj21: django>=2.1a1,<2.2
djmaster: https://github.com/django/django/archive/master.tar.gz#egg=django djmaster: https://github.com/django/django/archive/master.tar.gz#egg=django
commands = commands =