From 36e8f3999e92a66eadcca2d169e2a1464935a73b Mon Sep 17 00:00:00 2001 From: Akihiro Motoki Date: Sun, 11 Mar 2018 10:01:16 +0900 Subject: [PATCH] Django 2.0 support Replace django.core.urlresolves with django.urls (In Django 2.0) The django.core.urlresolvers module is removed in favor of its new location, django.urls. It was depreacted in Django 1.10: https://docs.djangoproject.com/en/2.0/releases/1.10/#id3 Add py35dj20 job to test Django 2.0 integration. Also drops py27dj110 from tox.ini as horizon droped Django 1.10 support in Rocky. blueprint django2-support Change-Id: I8e0dcb64e1c82580767db482631450ba38654fc3 --- .zuul.yaml | 6 ++++++ .../dashboards/project/firewalls/forms.py | 2 +- .../dashboards/project/firewalls/tables.py | 2 +- .../dashboards/project/firewalls/tests.py | 2 +- .../dashboards/project/firewalls/views.py | 4 ++-- .../dashboards/project/firewalls_v2/forms.py | 2 +- .../dashboards/project/firewalls_v2/tables.py | 2 +- .../dashboards/project/firewalls_v2/tests.py | 2 +- .../dashboards/project/firewalls_v2/views.py | 4 ++-- tox.ini | 8 ++++---- 10 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index 737eaf3..40b372a 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -4,8 +4,14 @@ - openstack-tox-lower-constraints: required-projects: - openstack/horizon + - horizon-openstack-tox-py35dj20: + required-projects: + - openstack/horizon gate: jobs: - openstack-tox-lower-constraints: required-projects: - openstack/horizon + - horizon-openstack-tox-py35dj20: + required-projects: + - openstack/horizon diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls/forms.py b/neutron_fwaas_dashboard/dashboards/project/firewalls/forms.py index 5fe73b3..881d1aa 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls/forms.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls/forms.py @@ -14,7 +14,7 @@ import logging -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from horizon import exceptions diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls/tables.py b/neutron_fwaas_dashboard/dashboards/project/firewalls/tables.py index 6ca0875..2c51f00 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls/tables.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls/tables.py @@ -14,8 +14,8 @@ import logging -from django.core.urlresolvers import reverse from django.template import defaultfilters as filters +from django.urls import reverse from django.utils.translation import pgettext_lazy from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ungettext_lazy diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls/tests.py b/neutron_fwaas_dashboard/dashboards/project/firewalls/tests.py index c73a444..487adc4 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls/tests.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls/tests.py @@ -14,7 +14,7 @@ import mock -from django.core.urlresolvers import reverse +from django.urls import reverse from openstack_dashboard import api from openstack_dashboard.test import helpers diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls/views.py b/neutron_fwaas_dashboard/dashboards/project/firewalls/views.py index 7941ecc..dba6280 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls/views.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls/views.py @@ -12,8 +12,8 @@ # License for the specific language governing permissions and limitations # under the License. -from django.core.urlresolvers import reverse -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse +from django.urls import reverse_lazy from django.utils.translation import ugettext_lazy as _ from horizon import exceptions diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/forms.py b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/forms.py index 744e459..99768b8 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/forms.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/forms.py @@ -15,7 +15,7 @@ import logging from operator import attrgetter -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from horizon import exceptions from horizon import forms diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tables.py b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tables.py index 6fa5483..fc31eda 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tables.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tables.py @@ -14,8 +14,8 @@ import logging -from django.core.urlresolvers import reverse from django.template import defaultfilters as filters +from django.urls import reverse from django.utils.translation import pgettext_lazy from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ungettext_lazy diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tests.py b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tests.py index 23bc3ba..52dcd76 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tests.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/tests.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -from django.core.urlresolvers import reverse +from django.urls import reverse import mock from openstack_dashboard.test import helpers diff --git a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/views.py b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/views.py index c5837dd..ee7fcf7 100644 --- a/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/views.py +++ b/neutron_fwaas_dashboard/dashboards/project/firewalls_v2/views.py @@ -12,8 +12,8 @@ # License for the specific language governing permissions and limitations # under the License. -from django.core.urlresolvers import reverse -from django.core.urlresolvers import reverse_lazy +from django.urls import reverse +from django.urls import reverse_lazy from django.utils.translation import ugettext_lazy as _ from horizon import exceptions diff --git a/tox.ini b/tox.ini index 7e3340d..e30db45 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py35,py27,pep8 +envlist = py35,py27,pep8,py35dj20 minversion = 2.3.2 skipsdist = True @@ -35,10 +35,10 @@ commands = coverage xml --omit '.tox/cover/*' -o 'cover/coverage.xml' coverage html --omit '.tox/cover/*' -d 'cover/htmlcov' -[testenv:py27dj110] -basepython = python2.7 +[testenv:py35dj20] +basepython = python3.5 commands = - pip install django>=1.10,<1.11 + pip install django>=2.0,<2.1 {[unit_tests]commands} [testenv:docs]