From eb4d103c3fbe2e7b8e20c09a7661999ca39cf30f Mon Sep 17 00:00:00 2001 From: Vadym Markov Date: Mon, 13 Mar 2023 17:23:41 +0200 Subject: [PATCH] Django 4.x: fix some import error * ugettext_lazy is removed In Django 3.0 ugettext_lazy/ungettext_lazy have been deprecated in favor of gettext_lazy/ngettext_lazy [0]. * urlunquote is removed In Django 3.0 django.utils.http.urlquote/urlquote_plus/urlunquote/urlunquote have been deprecated in favor of the functions that they're aliases for: urllib.parse.quote/quote_plus/unquote/unquote_plus [0]. We are now using Django 4.2, so we should update our code with the gettext_lazy/ngettext_lazy aliases. [0] https://docs.djangoproject.com/en/3.0/releases/3.0/#id3 Change-Id: I2fe090fe170dd832deb9cf454a0400303d2e3d92 --- masakaridashboard/api/api.py | 2 +- masakaridashboard/dashboard.py | 2 +- masakaridashboard/default/panel.py | 2 +- masakaridashboard/hosts/forms.py | 2 +- masakaridashboard/hosts/panel.py | 2 +- masakaridashboard/hosts/tables.py | 8 ++++---- masakaridashboard/hosts/tabs.py | 2 +- masakaridashboard/hosts/views.py | 2 +- masakaridashboard/notifications/panel.py | 2 +- masakaridashboard/notifications/tables.py | 2 +- masakaridashboard/notifications/tabs.py | 2 +- masakaridashboard/notifications/tests.py | 4 ++-- masakaridashboard/notifications/views.py | 2 +- masakaridashboard/segments/forms.py | 2 +- masakaridashboard/segments/panel.py | 2 +- masakaridashboard/segments/tables.py | 8 ++++---- masakaridashboard/segments/tabs.py | 2 +- masakaridashboard/segments/tests.py | 4 ++-- masakaridashboard/segments/views.py | 2 +- 19 files changed, 27 insertions(+), 27 deletions(-) diff --git a/masakaridashboard/api/api.py b/masakaridashboard/api/api.py index 2ec4af5..3262531 100644 --- a/masakaridashboard/api/api.py +++ b/masakaridashboard/api/api.py @@ -16,7 +16,7 @@ import itertools from django.conf import settings -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon.utils import functions as utils from horizon.utils import memoized diff --git a/masakaridashboard/dashboard.py b/masakaridashboard/dashboard.py index 91bd844..e7f4299 100644 --- a/masakaridashboard/dashboard.py +++ b/masakaridashboard/dashboard.py @@ -15,7 +15,7 @@ from oslo_log import log as logging -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ import horizon diff --git a/masakaridashboard/default/panel.py b/masakaridashboard/default/panel.py index 07e5d99..3fc5aaf 100644 --- a/masakaridashboard/default/panel.py +++ b/masakaridashboard/default/panel.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ import horizon diff --git a/masakaridashboard/hosts/forms.py b/masakaridashboard/hosts/forms.py index cdb38f5..50e3e4d 100644 --- a/masakaridashboard/hosts/forms.py +++ b/masakaridashboard/hosts/forms.py @@ -13,7 +13,7 @@ # limitations under the License. from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import exceptions from horizon import forms diff --git a/masakaridashboard/hosts/panel.py b/masakaridashboard/hosts/panel.py index 0ed426e..70235ce 100644 --- a/masakaridashboard/hosts/panel.py +++ b/masakaridashboard/hosts/panel.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ import horizon diff --git a/masakaridashboard/hosts/tables.py b/masakaridashboard/hosts/tables.py index 82890bf..e25fd78 100644 --- a/masakaridashboard/hosts/tables.py +++ b/masakaridashboard/hosts/tables.py @@ -13,8 +13,8 @@ # limitations under the License. from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ -from django.utils.translation import ungettext_lazy +from django.utils.translation import gettext_lazy as _ +from django.utils.translation import ngettext_lazy from horizon import exceptions from horizon import tables @@ -38,7 +38,7 @@ class HostFilterAction(tables.FilterAction): class DeleteHost(tables.DeleteAction): @staticmethod def action_present(count): - return ungettext_lazy( + return ngettext_lazy( u"Delete Host", u"Delete Hosts", count @@ -46,7 +46,7 @@ class DeleteHost(tables.DeleteAction): @staticmethod def action_past(count): - return ungettext_lazy( + return ngettext_lazy( u"Deleted Host", u"Deleted Hosts", count diff --git a/masakaridashboard/hosts/tabs.py b/masakaridashboard/hosts/tabs.py index c0d5c25..bfd8c3a 100644 --- a/masakaridashboard/hosts/tabs.py +++ b/masakaridashboard/hosts/tabs.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import tabs diff --git a/masakaridashboard/hosts/views.py b/masakaridashboard/hosts/views.py index 25eddba..8eb8db2 100644 --- a/masakaridashboard/hosts/views.py +++ b/masakaridashboard/hosts/views.py @@ -15,7 +15,7 @@ from django.conf import settings from django.urls import reverse from django.urls import reverse_lazy -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import exceptions from horizon import forms diff --git a/masakaridashboard/notifications/panel.py b/masakaridashboard/notifications/panel.py index bdfb505..0f77fc1 100644 --- a/masakaridashboard/notifications/panel.py +++ b/masakaridashboard/notifications/panel.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ import horizon diff --git a/masakaridashboard/notifications/tables.py b/masakaridashboard/notifications/tables.py index f845305..c5e591f 100644 --- a/masakaridashboard/notifications/tables.py +++ b/masakaridashboard/notifications/tables.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import tables from horizon.utils import filters diff --git a/masakaridashboard/notifications/tabs.py b/masakaridashboard/notifications/tabs.py index 0c9121e..1a8c03f 100644 --- a/masakaridashboard/notifications/tabs.py +++ b/masakaridashboard/notifications/tabs.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import exceptions from horizon import tabs diff --git a/masakaridashboard/notifications/tests.py b/masakaridashboard/notifications/tests.py index a86de72..93b6bf6 100644 --- a/masakaridashboard/notifications/tests.py +++ b/masakaridashboard/notifications/tests.py @@ -13,11 +13,11 @@ # limitations under the License. from unittest import mock +from urllib import parse from django.conf import settings from django.test.utils import override_settings from django.urls import reverse -from django.utils.http import urlunquote from masakaridashboard.notifications import tables as notification_tab from masakaridashboard.test import helpers as test @@ -49,7 +49,7 @@ class NotificationTest(test.TestCase): 'masakaridashboard.api.api.notification_list', return_value=[notifications, has_more, has_prev]) as mock_notification_list: - res = self.client.get(urlunquote(url)) + res = self.client.get(parse.unquote(url)) self.assertEqual(res.status_code, 200) self.assertTemplateUsed(res, 'masakaridashboard/notifications/index.html') diff --git a/masakaridashboard/notifications/views.py b/masakaridashboard/notifications/views.py index d4f3c2d..b6cb4c8 100644 --- a/masakaridashboard/notifications/views.py +++ b/masakaridashboard/notifications/views.py @@ -14,7 +14,7 @@ from django.conf import settings from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import exceptions from horizon import tables diff --git a/masakaridashboard/segments/forms.py b/masakaridashboard/segments/forms.py index 54e7748..b637a2c 100644 --- a/masakaridashboard/segments/forms.py +++ b/masakaridashboard/segments/forms.py @@ -14,7 +14,7 @@ # under the License. from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import exceptions from horizon import forms diff --git a/masakaridashboard/segments/panel.py b/masakaridashboard/segments/panel.py index 7a1b0f3..17e7842 100644 --- a/masakaridashboard/segments/panel.py +++ b/masakaridashboard/segments/panel.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ import horizon diff --git a/masakaridashboard/segments/tables.py b/masakaridashboard/segments/tables.py index c1f79ea..ce9975a 100644 --- a/masakaridashboard/segments/tables.py +++ b/masakaridashboard/segments/tables.py @@ -15,8 +15,8 @@ from django.template import defaultfilters as filters from django.urls import reverse -from django.utils.translation import ugettext_lazy as _ -from django.utils.translation import ungettext_lazy +from django.utils.translation import gettext_lazy as _ +from django.utils.translation import ngettext_lazy from masakaridashboard.api import api @@ -58,7 +58,7 @@ class SegmentFilterAction(tables.FilterAction): class DeleteSegment(tables.DeleteAction): @staticmethod def action_present(count): - return ungettext_lazy( + return ngettext_lazy( u"Delete Segment", u"Delete Segments", count @@ -66,7 +66,7 @@ class DeleteSegment(tables.DeleteAction): @staticmethod def action_past(count): - return ungettext_lazy( + return ngettext_lazy( u"Deleted Segment", u"Deleted Segments", count diff --git a/masakaridashboard/segments/tabs.py b/masakaridashboard/segments/tabs.py index adf68a0..a801f24 100644 --- a/masakaridashboard/segments/tabs.py +++ b/masakaridashboard/segments/tabs.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import tabs diff --git a/masakaridashboard/segments/tests.py b/masakaridashboard/segments/tests.py index 35f9b9c..db67c64 100644 --- a/masakaridashboard/segments/tests.py +++ b/masakaridashboard/segments/tests.py @@ -14,11 +14,11 @@ # under the License. from unittest import mock +from urllib import parse from django.conf import settings from django.test.utils import override_settings from django.urls import reverse -from django.utils.http import urlunquote from openstack_dashboard.test import helpers from masakaridashboard.segments import tables as segment_table @@ -77,7 +77,7 @@ class SegmentTest(test.TestCase): 'masakaridashboard.api.api.get_segment_list', return_value=[segments, has_more, has_prev]) as mock_get_segment_list: - res = self.client.get(urlunquote(url)) + res = self.client.get(parse.unquote(url)) self.assertEqual(res.status_code, 200) self.assertTemplateUsed(res, 'masakaridashboard/segments/index.html') mock_get_segment_list.assert_called_once_with( diff --git a/masakaridashboard/segments/views.py b/masakaridashboard/segments/views.py index 7126330..90173ec 100644 --- a/masakaridashboard/segments/views.py +++ b/masakaridashboard/segments/views.py @@ -16,7 +16,7 @@ from django.conf import settings from django.urls import reverse from django.urls import reverse_lazy -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import gettext_lazy as _ from horizon import tables from masakaridashboard.api import api