From 87f498bee50be714c26dca449802dad012ddbac4 Mon Sep 17 00:00:00 2001 From: YuehuiLei Date: Tue, 5 Jan 2021 15:22:42 +0800 Subject: [PATCH] Drop the usage of unicode prefix from unicode strings All strings are considered as unicode strings in python 3, so we no longer need "u" prefix (u'...'). Co-Authored-By: Akihiro Motoki Change-Id: I796d2fcdca066475bbf29d25cbf2aa67b2b2178b --- doc/source/conf.py | 20 +- horizon/base.py | 4 +- horizon/forms/fields.py | 10 +- horizon/tables/actions.py | 4 +- .../test_dashboards/dogs/puppies/tables.py | 8 +- .../unit/middleware/test_operation_log.py | 12 +- horizon/test/unit/tables/test_tables.py | 53 ++-- horizon/test/unit/tabs/test_tabs.py | 2 +- .../unit/templatetags/test_templatetags.py | 8 +- horizon/test/unit/test_exceptions.py | 18 +- .../unit/utils/test_babel_extract_angular.py | 36 +-- horizon/test/unit/utils/test_filters.py | 10 +- horizon/utils/babel_extract_angular.py | 12 +- openstack_dashboard/api/cinder.py | 2 +- openstack_dashboard/api/neutron.py | 14 +- openstack_dashboard/api/rest/swift.py | 8 +- .../dashboards/admin/aggregates/tables.py | 8 +- .../dashboards/admin/aggregates/tests.py | 10 +- .../dashboards/admin/flavors/tables.py | 8 +- .../admin/group_types/specs/tables.py | 8 +- .../admin/group_types/specs/tests.py | 6 +- .../dashboards/admin/group_types/tables.py | 8 +- .../admin/hypervisors/compute/tables.py | 18 +- .../dashboards/admin/info/tables.py | 6 +- .../dashboards/admin/instances/tables.py | 8 +- .../dashboards/admin/metadata_defs/tables.py | 8 +- .../admin/networks/agents/tables.py | 8 +- .../dashboards/admin/networks/tables.py | 4 +- .../dashboards/admin/overview/tests.py | 6 +- .../dashboards/admin/rbac_policies/tables.py | 8 +- .../admin/volume_types/extras/tables.py | 8 +- .../admin/volume_types/extras/tests.py | 6 +- .../dashboards/admin/volume_types/forms.py | 4 +- .../admin/volume_types/qos_specs/tables.py | 8 +- .../dashboards/admin/volume_types/tables.py | 24 +- .../dashboards/admin/volume_types/tests.py | 48 ++-- .../dashboards/admin/volumes/tests.py | 6 +- .../dashboards/identity/domains/tables.py | 24 +- .../dashboards/identity/groups/tables.py | 24 +- .../identity_providers/protocols/tables.py | 8 +- .../identity/identity_providers/tables.py | 8 +- .../dashboards/identity/mappings/tables.py | 8 +- .../dashboards/identity/projects/tables.py | 8 +- .../dashboards/identity/roles/tables.py | 8 +- .../dashboards/identity/users/tables.py | 24 +- .../dashboards/identity/users/tests.py | 12 +- .../dashboards/project/api_access/tests.py | 2 +- .../dashboards/project/backups/tables.py | 20 +- .../dashboards/project/floating_ips/tables.py | 14 +- .../project/images/images/tables.py | 30 +- .../dashboards/project/images/images/tests.py | 46 +-- .../dashboards/project/images/tests.py | 16 +- .../project/instances/audit_tables.py | 38 +-- .../dashboards/project/instances/tables.py | 264 +++++++++--------- .../dashboards/project/instances/tests.py | 64 ++--- .../dashboards/project/key_pairs/tables.py | 8 +- .../allowed_address_pairs/tables.py | 8 +- .../project/networks/ports/tables.py | 20 +- .../project/networks/subnets/tables.py | 8 +- .../dashboards/project/networks/tables.py | 20 +- .../routers/extensions/extraroutes/tables.py | 8 +- .../project/routers/ports/tables.py | 22 +- .../dashboards/project/routers/tables.py | 24 +- .../dashboards/project/routers/views.py | 2 +- .../project/security_groups/tables.py | 20 +- .../project/security_groups/tests.py | 8 +- .../dashboards/project/snapshots/tables.py | 8 +- .../dashboards/project/vg_snapshots/tables.py | 14 +- .../project/volume_groups/tables.py | 10 +- .../dashboards/project/volumes/forms.py | 2 +- .../dashboards/project/volumes/tables.py | 48 ++-- .../dashboards/project/volumes/tests.py | 98 +++---- .../locale/tr_TR/LC_MESSAGES/django.po | 2 +- .../management/commands/update_catalog.py | 8 +- .../management/commands/upgrade_check.py | 6 +- .../integration_tests/tests/test_volumes.py | 4 +- .../test/test_data/cinder_data.py | 24 +- .../test/test_data/glance_data.py | 48 ++-- .../test/test_data/keystone_data.py | 2 +- .../test/test_data/neutron_data.py | 34 +-- .../test/test_data/nova_data.py | 26 +- .../test/test_data/swift_data.py | 38 +-- .../test/unit/api/rest/test_swift.py | 46 +-- .../test/unit/api/test_glance.py | 24 +- .../test/unit/api/test_nova.py | 4 +- .../test/unit/utils/test_config_types.py | 2 +- releasenotes/source/conf.py | 14 +- 87 files changed, 832 insertions(+), 835 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 623caae519..b053dfa877 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -106,7 +106,7 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -copyright = u'2012, OpenStack Foundation' +copyright = '2012, OpenStack Foundation' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -235,8 +235,8 @@ htmlhelp_basename = 'Horizondoc' # (source start file, target name, title, author, documentclass # [howto/manual]). latex_documents = [ - ('index', 'doc-horizon.tex', u'Horizon Documentation', - u'OpenStack Foundation', 'manual'), + ('index', 'doc-horizon.tex', 'Horizon Documentation', + 'OpenStack Foundation', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -273,8 +273,8 @@ latex_use_xindy = False # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'horizon', u'Horizon Documentation', - [u'OpenStack'], 1) + ('index', 'horizon', 'Horizon Documentation', + ['OpenStack'], 1) ] # If true, show URL addresses after external links. @@ -287,7 +287,7 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'Horizon', u'Horizon Documentation', u'OpenStack', + ('index', 'Horizon', 'Horizon Documentation', 'OpenStack', 'Horizon', 'One line description of project.', 'Miscellaneous'), ] @@ -304,10 +304,10 @@ texinfo_documents = [ # -- Options for Epub output -------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'Horizon' -epub_author = u'OpenStack' -epub_publisher = u'OpenStack' -epub_copyright = u'2012, OpenStack' +epub_title = 'Horizon' +epub_author = 'OpenStack' +epub_publisher = 'OpenStack' +epub_copyright = '2012, OpenStack' # The language of the text. It defaults to the language option # or en if the language is not set. diff --git a/horizon/base.py b/horizon/base.py index 7d91cfbd8c..2bbd0d828c 100644 --- a/horizon/base.py +++ b/horizon/base.py @@ -114,7 +114,7 @@ class HorizonComponent(object): % self.__class__) def __str__(self): - name = getattr(self, 'name', u"Unnamed %s" % self.__class__.__name__) + name = getattr(self, 'name', "Unnamed %s" % self.__class__.__name__) return name def _get_default_urlpatterns(self): @@ -705,7 +705,7 @@ class Site(Registry, HorizonComponent): urls = 'horizon.site_urls' def __repr__(self): - return u"" % self.slug + return "" % self.slug @property def _conf(self): diff --git a/horizon/forms/fields.py b/horizon/forms/fields.py index 560581b0de..99c99c9bfe 100644 --- a/horizon/forms/fields.py +++ b/horizon/forms/fields.py @@ -243,7 +243,7 @@ class SelectWidget(widgets.Widget): def render_option(self, selected_choices, option_value, option_label): option_value = force_text(option_value) - other_html = (u' selected="selected"' + other_html = (' selected="selected"' if option_value in selected_choices else '') other_html += self.transform_option_html_attrs(option_label) @@ -254,7 +254,7 @@ class SelectWidget(widgets.Widget): option_label = self.transform_option_label(option_label) - return u'' % ( + return '' % ( html.escape(option_value), other_html, option_label) def render_options(self, selected_choices): @@ -424,7 +424,7 @@ class ThemableCheckboxInput(widgets.CheckboxInput): label_for = attrs['id'] return html.format_html( - u'
{}
', + '
{}
', super().render(name, value, attrs), label_for ) @@ -538,8 +538,8 @@ class ThemableCheckboxChoiceInput(ChoiceInput): label_for = '' attrs = dict(self.attrs, **attrs) if attrs else self.attrs return html.format_html( - u'
{}' + - u'{}
', + '
{}' + + '{}
', self.tag(attrs), label_for, self.choice_label ) diff --git a/horizon/tables/actions.py b/horizon/tables/actions.py index 28bfb357f6..25c452392f 100644 --- a/horizon/tables/actions.py +++ b/horizon/tables/actions.py @@ -758,7 +758,7 @@ class BatchAction(Action): datum_display = table.get_object_display(datum) or datum_id if not table._filter_action(self, request, datum): action_not_allowed.append(datum_display) - LOG.warning(u'Permission denied to %(name)s: "%(dis)s"', { + LOG.warning('Permission denied to %(name)s: "%(dis)s"', { 'name': self._get_action_name(past=True).lower(), 'dis': datum_display }) @@ -769,7 +769,7 @@ class BatchAction(Action): self.update(request, datum) action_success.append(datum_display) self.success_ids.append(datum_id) - LOG.info(u'%(action)s: "%(datum_display)s"', + LOG.info('%(action)s: "%(datum_display)s"', {'action': self._get_action_name(past=True), 'datum_display': datum_display}) except Exception as ex: diff --git a/horizon/test/test_dashboards/dogs/puppies/tables.py b/horizon/test/test_dashboards/dogs/puppies/tables.py index cfea9a4260..731a39cc53 100644 --- a/horizon/test/test_dashboards/dogs/puppies/tables.py +++ b/horizon/test/test_dashboards/dogs/puppies/tables.py @@ -28,8 +28,8 @@ class SellPuppy(tables.DeleteAction): def action_present(count): # Translators: test code, don't really have to translate return ungettext_lazy( - u"Sell Puppy", - u"Sell Puppies", + "Sell Puppy", + "Sell Puppies", count ) @@ -37,8 +37,8 @@ class SellPuppy(tables.DeleteAction): def action_past(count): # Translators: test code, don't really have to translate return ungettext_lazy( - u"Sold Puppy", - u"Sold Puppies", + "Sold Puppy", + "Sold Puppies", count ) diff --git a/horizon/test/unit/middleware/test_operation_log.py b/horizon/test/unit/middleware/test_operation_log.py index 136b4bad63..95a7bbad7b 100644 --- a/horizon/test/unit/middleware/test_operation_log.py +++ b/horizon/test/unit/middleware/test_operation_log.py @@ -29,8 +29,8 @@ from horizon.test import helpers as test class OperationLogMiddlewareTest(django_test.TestCase): - http_host = u'test_host' - http_referer = u'/dashboard/test_http_referer' + http_host = 'test_host' + http_referer = '/dashboard/test_http_referer' def setUp(self): super().setUp() @@ -48,10 +48,10 @@ class OperationLogMiddlewareTest(django_test.TestCase): request.META['HTTP_HOST'] = self.http_host request.META['HTTP_REFERER'] = self.http_referer request.POST = { - "username": u"admin", - "password": u"pass" + "username": "admin", + "password": "pass" } - request.user.username = u'test_user_name' + request.user.username = 'test_user_name' response = HttpResponseRedirect(url) response.client = self.client @@ -63,7 +63,7 @@ class OperationLogMiddlewareTest(django_test.TestCase): request = self.factory.get(url) request.META['HTTP_HOST'] = self.http_host request.META['HTTP_REFERER'] = self.http_referer - request.user.username = u'test_user_name' + request.user.username = 'test_user_name' response = HttpResponseRedirect(url) response.client = self.client diff --git a/horizon/test/unit/tables/test_tables.py b/horizon/test/unit/tables/test_tables.py index d34c9af19e..5711250ffa 100644 --- a/horizon/test/unit/tables/test_tables.py +++ b/horizon/test/unit/tables/test_tables.py @@ -46,15 +46,15 @@ class FakeObject(object): self.extra = "extra" def __str__(self): - return u"%s: %s" % (self.__class__.__name__, self.name) + return "%s: %s" % (self.__class__.__name__, self.name) TEST_DATA = ( FakeObject('1', 'object_1', 'value_1', 'up', 'optional_1', 'excluded_1'), FakeObject('2', 'object_2', 'evil', 'down', 'optional_2'), FakeObject('3', 'object_3', 'value_3', 'up'), - FakeObject('4', u'öbject_4', u'välue_1', u'üp', u'öptional_1', - u'exclüded_1'), + FakeObject('4', 'öbject_4', 'välue_1', 'üp', 'öptional_1', + 'exclüded_1'), ) TEST_DATA_2 = ( @@ -158,8 +158,8 @@ class MyBatchAction(tables.BatchAction): def action_present(count): # Translators: test code, don't really have to translate return ungettext_lazy( - u"Batch Item", - u"Batch Items", + "Batch Item", + "Batch Items", count ) @@ -167,8 +167,8 @@ class MyBatchAction(tables.BatchAction): def action_past(count): # Translators: test code, don't really have to translate return ungettext_lazy( - u"Batched Item", - u"Batched Items", + "Batched Item", + "Batched Items", count ) @@ -180,12 +180,12 @@ class MyBatchActionWithHelpText(MyBatchAction): @staticmethod def action_present(count): # No translation - return u"BatchHelp Item" + return "BatchHelp Item" @staticmethod def action_past(count): # No translation - return u"BatchedHelp Item" + return "BatchedHelp Item" class MyToggleAction(tables.BatchAction): @@ -195,15 +195,15 @@ class MyToggleAction(tables.BatchAction): if self.current_present_action: # Translators: test code, don't really have to translate return ungettext_lazy( - u"Up Item", - u"Up Items", + "Up Item", + "Up Items", count ) else: # Translators: test code, don't really have to translate return ungettext_lazy( - u"Down Item", - u"Down Items", + "Down Item", + "Down Items", count ) @@ -211,15 +211,15 @@ class MyToggleAction(tables.BatchAction): if self.current_past_action: # Translators: test code, don't really have to translate return ungettext_lazy( - u"Upped Item", - u"Upped Items", + "Upped Item", + "Upped Items", count ) else: # Translators: test code, don't really have to translate return ungettext_lazy( - u"Downed Item", - u"Downed Items", + "Downed Item", + "Downed Items", count ) @@ -419,7 +419,7 @@ class DataTableTests(test.TestCase): self.assertTrue(self.table._meta.actions_column) self.assertTrue(self.table._meta.multi_select) # Test for verbose_name - self.assertEqual(u"My Table", str(self.table)) + self.assertEqual("My Table", str(self.table)) # Column ordering and exclusion. # This should include auto-columns for multi_select and actions, # but should not contain the excluded column. @@ -666,7 +666,7 @@ class DataTableTests(test.TestCase): row = self.table.get_rows()[0] self.assertEqual(35, len(row.cells['status'].data)) - self.assertEqual(u'A Status that is longer than 35 ch…', + self.assertEqual('A Status that is longer than 35 ch…', row.cells['status'].data) def test_table_rendering(self): @@ -830,7 +830,7 @@ class DataTableTests(test.TestCase): ['FakeObject: object_1', 'FakeObject: object_2', 'FakeObject: object_3', - u'FakeObject: öbject_4'], + 'FakeObject: öbject_4'], transform=str) # with unknown value it should return empty list @@ -913,7 +913,7 @@ class DataTableTests(test.TestCase): handled = self.table.maybe_handle() self.assertEqual(302, handled.status_code) self.assertEqual("/my_url/", handled["location"]) - self.assertEqual(u"Downed Item: object_1", + self.assertEqual("Downed Item: object_1", list(req._messages)[0].message) # Toggle from status 'down' to 'up' @@ -933,7 +933,7 @@ class DataTableTests(test.TestCase): handled = self.table.maybe_handle() self.assertEqual(302, handled.status_code) self.assertEqual("/my_url/", handled["location"]) - self.assertEqual(u"Upped Item: object_2", + self.assertEqual("Upped Item: object_2", list(req._messages)[0].message) # there are underscore in object-id. @@ -1014,7 +1014,7 @@ class DataTableTests(test.TestCase): ['FakeObject: object_1', 'FakeObject: object_2', 'FakeObject: object_3', - u'FakeObject: öbject_4'], + 'FakeObject: öbject_4'], transform=str) # Updating and preemptive actions @@ -1074,7 +1074,7 @@ class DataTableTests(test.TestCase): ['FakeObject: object_1', 'FakeObject: object_2', 'FakeObject: object_3', - u'FakeObject: öbject_4'], + 'FakeObject: öbject_4'], transform=str) def test_column_uniqueness(self): @@ -1166,8 +1166,7 @@ class DataTableTests(test.TestCase): self.assertEqual(302, handled.status_code) self.assertEqual("/my_url/", handled["location"]) - self.assertEqual(u"Downed Item: 1", - list(req._messages)[0].message) + self.assertEqual("Downed Item: 1", list(req._messages)[0].message) mock_get_object_display.assert_called_once_with( test.IsA(FakeObject)) @@ -1368,7 +1367,7 @@ class DataTableViewTests(test.TestCase): ['FakeObject: object_1', 'FakeObject: object_2', 'FakeObject: object_3', - u'FakeObject: öbject_4'], + 'FakeObject: öbject_4'], transform=str) self.assertEqual(req.session.get(self.fil_value_param), 'up') self.assertEqual(req.session.get(self.fil_field_param), 'status') diff --git a/horizon/test/unit/tabs/test_tabs.py b/horizon/test/unit/tabs/test_tabs.py index 0e509d0339..35998876f9 100644 --- a/horizon/test/unit/tabs/test_tabs.py +++ b/horizon/test/unit/tabs/test_tabs.py @@ -296,7 +296,7 @@ class TabTests(test.TestCase): ['FakeObject: object_1', 'FakeObject: object_2', 'FakeObject: object_3', - u'FakeObject: öbject_4'], + 'FakeObject: öbject_4'], transform=str) context = tab.get_context_data(self.request) # Make sure our table is loaded into the context correctly diff --git a/horizon/test/unit/templatetags/test_templatetags.py b/horizon/test/unit/templatetags/test_templatetags.py index 9266640400..febfcf676d 100644 --- a/horizon/test/unit/templatetags/test_templatetags.py +++ b/horizon/test/unit/templatetags/test_templatetags.py @@ -63,7 +63,7 @@ class TemplateTagTests(test.TestCase): size_str = ('5|diskgbformat', '10|diskgbformat', '5555|mb_float_format', '80|mb_float_format', '.5|mbformat', '0.005|mbformat', '0.0005|mbformat') - expected = u' 5GB 10GB 5.4GB 80MB 512KB 5KB 524Bytes ' + expected = ' 5GB 10GB 5.4GB 80MB 512KB 5KB 524Bytes ' text = '' for size_filter in size_str: @@ -76,7 +76,7 @@ class TemplateTagTests(test.TestCase): def test_size_format_filters_with_string(self): size_str = ('"test"|diskgbformat', '"limit"|mb_float_format', '"no limit"|mbformat') - expected = u' test limit no limit ' + expected = ' test limit no limit ' text = '' for size_filter in size_str: @@ -94,7 +94,7 @@ class TemplateTagTests(test.TestCase): text = ('{{ test.val1|truncate:1 }}#{{ test.val2|truncate:4 }}#' '{{ test.val3|truncate:10 }}') - expected = u' h#h...#four' + expected = ' h#h...#four' rendered_str = self.render_template(tag_require='truncate_filter', template_text=text, context={'test': ctx_string}) @@ -108,7 +108,7 @@ class TemplateTagTests(test.TestCase): text = ('{{ test.val1|quota:"TB" }}#{{ test.val2|quota }}#' '{{ test.val3|quota }}') - expected = u' 100 TB Available#1000 Available#(No Limit)' + expected = ' 100 TB Available#1000 Available#(No Limit)' rendered_str = self.render_template(tag_require='horizon', template_text=text, diff --git a/horizon/test/unit/test_exceptions.py b/horizon/test/unit/test_exceptions.py index 1725512866..95a353fc36 100644 --- a/horizon/test/unit/test_exceptions.py +++ b/horizon/test/unit/test_exceptions.py @@ -18,10 +18,10 @@ from horizon.test import helpers as test class HandleTests(test.TestCase): def test_handle_translated(self): - translated_unicode = u'\u30b3\u30f3\u30c6\u30ca\u30fc\u304c' \ - u'\u7a7a\u3067\u306f\u306a\u3044\u305f' \ - u'\u3081\u3001\u524a\u9664\u3067\u304d' \ - u'\u307e\u305b\u3093\u3002' + translated_unicode = '\u30b3\u30f3\u30c6\u30ca\u30fc\u304c' \ + '\u7a7a\u3067\u306f\u306a\u3044\u305f' \ + '\u3081\u3001\u524a\u9664\u3067\u304d' \ + '\u307e\u305b\u3093\u3002' # Japanese translation of: # 'Because the container is not empty, it can not be deleted.' @@ -45,8 +45,8 @@ class HandleTests(test.TestCase): # tests that if a message is passed to handle that it is treated # like a recoverable exception - message = u"Couldn't make the thing" - exc_msg = u"Exception string" + message = "Couldn't make the thing" + exc_msg = "Exception string" req = self.request req.META['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest' @@ -64,7 +64,7 @@ class HandleTests(test.TestCase): self.assertIn(exc_msg, req.horizon['async_messages'][0][1]) def test_handle_exception_with_empty_details(self): - message = u"Couldn't make the thing" + message = "Couldn't make the thing" details = "" expected = ['error', message, ''] req = self.request @@ -78,8 +78,8 @@ class HandleTests(test.TestCase): self.assertCountEqual(req.horizon['async_messages'], [expected]) def test_handle_exception_with_details(self): - message = u"Couldn't make the thing" - exc_msg = u"Exception string" + message = "Couldn't make the thing" + exc_msg = "Exception string" details = "custom detail message" expected = ['error', message + exceptions.SEPERATOR + details, ''] req = self.request diff --git a/horizon/test/unit/utils/test_babel_extract_angular.py b/horizon/test/unit/utils/test_babel_extract_angular.py index ea3659f245..9c9e1e64ae 100644 --- a/horizon/test/unit/utils/test_babel_extract_angular.py +++ b/horizon/test/unit/utils/test_babel_extract_angular.py @@ -38,8 +38,8 @@ class ExtractAngularTestCase(test.TestCase): messages = list(extract_angular(buf, default_keys, [], {})) self.assertEqual( [ - (1, u'gettext', 'hello world!', []), - (2, u'gettext', 'hello world!', []) + (1, 'gettext', 'hello world!', []), + (2, 'gettext', 'hello world!', []) ], messages) @@ -150,19 +150,19 @@ class ExtractAngularTestCase(test.TestCase): messages = list(extract_angular(buf, default_keys, [], {})) self.assertEqual( [ - (2, u'gettext', 'hello world1', []), - (3, u'gettext', 'hello world2', []), - (4, u'gettext', 'hello world3', []), - (4, u'gettext', 'hello world4', []), - (8, u'gettext', '"it\\\'s awesome"', []), - (9, u'gettext', 'oh \\"hello\\" there', []), - (10, u'gettext', u'hello colon1', []), - (11, u'gettext', u'hello colon2', []), - (12, u'gettext', u'hello colon3', []), - (13, u'gettext', u'hello colon4', []), - (13, u'gettext', u'hello colon5', []), - (17, u'gettext', u'"it\\\'s awesome"', []), - (18, u'gettext', u'oh \\"hello\\" there', []), + (2, 'gettext', 'hello world1', []), + (3, 'gettext', 'hello world2', []), + (4, 'gettext', 'hello world3', []), + (4, 'gettext', 'hello world4', []), + (8, 'gettext', '"it\\\'s awesome"', []), + (9, 'gettext', 'oh \\"hello\\" there', []), + (10, 'gettext', 'hello colon1', []), + (11, 'gettext', 'hello colon2', []), + (12, 'gettext', 'hello colon3', []), + (13, 'gettext', 'hello colon4', []), + (13, 'gettext', 'hello colon5', []), + (17, 'gettext', '"it\\\'s awesome"', []), + (18, 'gettext', 'oh \\"hello\\" there', []), ], messages) @@ -196,8 +196,8 @@ class ExtractAngularTestCase(test.TestCase): messages = list(extract_angular(buf, [], [], {})) self.assertEqual( [ - (2, u'gettext', 'To link here', []), - (3, u'gettext', 'To here', []), - (4, u'gettext', u'To trademark® > > here', []), + (2, 'gettext', 'To link here', []), + (3, 'gettext', 'To here', []), + (4, 'gettext', 'To trademark® > > here', []), ], messages) diff --git a/horizon/test/unit/utils/test_filters.py b/horizon/test/unit/utils/test_filters.py index 4b178098fd..6437e976ca 100644 --- a/horizon/test/unit/utils/test_filters.py +++ b/horizon/test/unit/utils/test_filters.py @@ -29,25 +29,25 @@ class FiltersTests(test.TestCase): def test_parse_isotime_filter(self): c = django.template.Context({'time': ''}) t = django.template.Template('{{ time|parse_isotime }}') - output = u"" + output = "" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': 'error'}) t = django.template.Template('{{ time|parse_isotime }}') - output = u"" + output = "" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': 'error'}) t = django.template.Template('{{ time|parse_isotime:"test" }}') - output = u"test" + output = "test" self.assertEqual(output, t.render(c)) c = django.template.Context({'time': '2007-03-04T21:08:12'}) t = django.template.Template('{{ time|parse_isotime:"test" }}') - output = u"March 4, 2007, 9:08 p.m." + output = "March 4, 2007, 9:08 p.m." self.assertEqual(output, t.render(c)) @@ -58,7 +58,7 @@ class FiltersTests(test.TestCase): class TimeSinceNeverFilterTests(test.TestCase): - default = u"Never" + default = "Never" def test_timesince_or_never_returns_default_for_empty_string(self): c = django.template.Context({'time': ''}) diff --git a/horizon/utils/babel_extract_angular.py b/horizon/utils/babel_extract_angular.py index f6ecc5a568..f892b3de53 100644 --- a/horizon/utils/babel_extract_angular.py +++ b/horizon/utils/babel_extract_angular.py @@ -30,8 +30,8 @@ filter_regex = re.compile( # to HTML_ENTITIES as necessary. HTML_ENTITY_PASSTHROUGH = {'amp', 'gt', 'lt'} HTML_ENTITY_DECODED = { - 'reg': u'®', - 'times': u'×' + 'reg': '®', + 'times': '×' } @@ -92,7 +92,7 @@ class AngularGettextHTMLParser(parser.HTMLParser): for match in filter_regex.findall(attr[1]): if match: self.strings.append( - (self.line, u'gettext', match[1][1:-1], []) + (self.line, 'gettext', match[1][1:-1], []) ) def handle_data(self, data): @@ -101,7 +101,7 @@ class AngularGettextHTMLParser(parser.HTMLParser): else: for match in filter_regex.findall(data): self.strings.append( - (self.line, u'gettext', match[1][1:-1], []) + (self.line, 'gettext', match[1][1:-1], []) ) def handle_entityref(self, name): @@ -130,10 +130,10 @@ class AngularGettextHTMLParser(parser.HTMLParser): self.data.strip(), self.plural_form ) - func_name = u'ngettext' + func_name = 'ngettext' else: messages = self.data.strip() - func_name = u'gettext' + func_name = 'gettext' self.strings.append( (self.line, func_name, messages, self.comments) ) diff --git a/openstack_dashboard/api/cinder.py b/openstack_dashboard/api/cinder.py index d1f52f4477..e831ea27b6 100644 --- a/openstack_dashboard/api/cinder.py +++ b/openstack_dashboard/api/cinder.py @@ -51,7 +51,7 @@ DEFAULT_QUOTA_NAME = 'default' CONSUMER_CHOICES = ( ('back-end', _('back-end')), ('front-end', _('front-end')), - ('both', pgettext_lazy('Both of front-end and back-end', u'both')), + ('both', pgettext_lazy('Both of front-end and back-end', 'both')), ) VERSIONS = base.APIVersionManager("volume", preferred_version='3') diff --git a/openstack_dashboard/api/neutron.py b/openstack_dashboard/api/neutron.py index 0ff9971c1d..3ebf76026f 100644 --- a/openstack_dashboard/api/neutron.py +++ b/openstack_dashboard/api/neutron.py @@ -252,7 +252,7 @@ class SecurityGroupRule(NeutronAPIDictWrapper): def _get_secgroup_name(self, sg_id, sg_dict): if not sg_id: - return u'' + return '' if sg_dict is None: sg_dict = {} @@ -1765,10 +1765,10 @@ def _server_get_addresses(request, server, ports, floating_ips, network_names): error_message = _('Unable to parse IP address %s.') % ip messages.error(request, error_message) raise - return {u'OS-EXT-IPS-MAC:mac_addr': mac, - u'version': version, - u'addr': ip, - u'OS-EXT-IPS:type': type} + return {'OS-EXT-IPS-MAC:mac_addr': mac, + 'version': version, + 'addr': ip, + 'OS-EXT-IPS:type': type} addresses = collections.defaultdict(list) instance_ports = ports.get(server.id, []) @@ -1780,7 +1780,7 @@ def _server_get_addresses(request, server, ports, floating_ips, network_names): addresses[network_name].append( _format_address(port.mac_address, fixed_ip['ip_address'], - u'fixed')) + 'fixed')) else: addresses[network_name] = [] port_fips = floating_ips.get(port.id, []) @@ -1788,7 +1788,7 @@ def _server_get_addresses(request, server, ports, floating_ips, network_names): addresses[network_name].append( _format_address(port.mac_address, fip.floating_ip_address, - u'floating')) + 'floating')) return dict(addresses) diff --git a/openstack_dashboard/api/rest/swift.py b/openstack_dashboard/api/rest/swift.py index e71655ed28..45834deeb0 100644 --- a/openstack_dashboard/api/rest/swift.py +++ b/openstack_dashboard/api/rest/swift.py @@ -116,7 +116,7 @@ class Container(generic.View): return rest_utils.JSONResponse(str(e), 409) return rest_utils.CreatedResponse( - u'/api/swift/containers/%s' % container, + '/api/swift/containers/%s' % container, ) @rest_utils.ajax() @@ -219,7 +219,7 @@ class Object(generic.View): ) return rest_utils.CreatedResponse( - u'/api/swift/containers/%s/object/%s' % (container, result.name) + '/api/swift/containers/%s/object/%s' % (container, result.name) ) @rest_utils.ajax() @@ -293,6 +293,6 @@ class ObjectCopy(generic.View): except exceptions.AlreadyExists as e: return rest_utils.JSONResponse(str(e), 409) return rest_utils.CreatedResponse( - u'/api/swift/containers/%s/object/%s' % (dest_container, - result.name) + '/api/swift/containers/%s/object/%s' % (dest_container, + result.name) ) diff --git a/openstack_dashboard/dashboards/admin/aggregates/tables.py b/openstack_dashboard/dashboards/admin/aggregates/tables.py index 443773232f..fd27d0d3ea 100644 --- a/openstack_dashboard/dashboards/admin/aggregates/tables.py +++ b/openstack_dashboard/dashboards/admin/aggregates/tables.py @@ -26,16 +26,16 @@ class DeleteAggregateAction(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Host Aggregate", - u"Delete Host Aggregates", + "Delete Host Aggregate", + "Delete Host Aggregates", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Host Aggregate", - u"Deleted Host Aggregates", + "Deleted Host Aggregate", + "Deleted Host Aggregates", count ) diff --git a/openstack_dashboard/dashboards/admin/aggregates/tests.py b/openstack_dashboard/dashboards/admin/aggregates/tests.py index 20a0360b9b..2b6d66da27 100644 --- a/openstack_dashboard/dashboards/admin/aggregates/tests.py +++ b/openstack_dashboard/dashboards/admin/aggregates/tests.py @@ -104,7 +104,7 @@ class CreateAggregateWorkflowTests(BaseAggregateWorkflowTests): workflow_data['name'] = '' workflow_data['availability_zone'] = '' self._test_generic_create_aggregate(workflow_data, aggregate, (), 1, - u'This field is required') + 'This field is required') def test_create_aggregate_fails_missing_fields_existing_aggregates(self): aggregate = self.aggregates.first() @@ -115,14 +115,14 @@ class CreateAggregateWorkflowTests(BaseAggregateWorkflowTests): self._test_generic_create_aggregate(workflow_data, aggregate, existing_aggregates, 1, - u'This field is required') + 'This field is required') def test_create_aggregate_fails_duplicated_name(self): aggregate = self.aggregates.first() existing_aggregates = self.aggregates.list() workflow_data = self._get_create_workflow_data(aggregate) expected_error_message = html \ - .escape(u'The name "%s" is already used by another host aggregate.' + .escape('The name "%s" is already used by another host aggregate.' % aggregate.name) self._test_generic_create_aggregate(workflow_data, aggregate, @@ -254,7 +254,7 @@ class AggregatesViewTests(test.BaseAdminViewTests): 'availability_zone': aggregate.availability_zone} self._test_generic_update_aggregate(form_data, aggregate, 1, - u'This field is required') + 'This field is required') def test_update_aggregate_fails_missing_az_field(self): aggregate = self.aggregates.first() @@ -264,7 +264,7 @@ class AggregatesViewTests(test.BaseAdminViewTests): self._test_generic_update_aggregate( form_data, aggregate, 1, - u'The new availability zone can't be empty') + 'The new availability zone can't be empty') class ManageHostsTests(test.BaseAdminViewTests): diff --git a/openstack_dashboard/dashboards/admin/flavors/tables.py b/openstack_dashboard/dashboards/admin/flavors/tables.py index 4cdf680c5f..731249b0ea 100644 --- a/openstack_dashboard/dashboards/admin/flavors/tables.py +++ b/openstack_dashboard/dashboards/admin/flavors/tables.py @@ -34,16 +34,16 @@ class DeleteFlavor(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Flavor", - u"Delete Flavors", + "Delete Flavor", + "Delete Flavors", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Flavor", - u"Deleted Flavors", + "Deleted Flavor", + "Deleted Flavors", count ) diff --git a/openstack_dashboard/dashboards/admin/group_types/specs/tables.py b/openstack_dashboard/dashboards/admin/group_types/specs/tables.py index a5cabed775..6daf4abfd4 100644 --- a/openstack_dashboard/dashboards/admin/group_types/specs/tables.py +++ b/openstack_dashboard/dashboards/admin/group_types/specs/tables.py @@ -26,16 +26,16 @@ class GroupTypeSpecDelete(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Spec", - u"Delete Specs", + "Delete Spec", + "Delete Specs", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Delete Spec", - u"Delete Specs", + "Delete Spec", + "Delete Specs", count ) diff --git a/openstack_dashboard/dashboards/admin/group_types/specs/tests.py b/openstack_dashboard/dashboards/admin/group_types/specs/tests.py index 3dac5afcba..17ecaf458d 100644 --- a/openstack_dashboard/dashboards/admin/group_types/specs/tests.py +++ b/openstack_dashboard/dashboards/admin/group_types/specs/tests.py @@ -64,8 +64,8 @@ class GroupTypeSpecTests(test.BaseAdminViewTests): index_url = reverse( 'horizon:admin:group_types:index') - data = {'key': u'k1', - 'value': u'v1'} + data = {'key': 'k1', + 'value': 'v1'} self.mock_group_type_spec_set.return_value = None resp = self.client.post(create_url, data) @@ -101,7 +101,7 @@ class GroupTypeSpecTests(test.BaseAdminViewTests): args=[group_type.id, key]) index_url = reverse('horizon:admin:group_types:index') - data = {'value': u'v1'} + data = {'value': 'v1'} specs = {key: data['value']} self.mock_group_type_spec_list.return_value = specs diff --git a/openstack_dashboard/dashboards/admin/group_types/tables.py b/openstack_dashboard/dashboards/admin/group_types/tables.py index 86792d1179..ee492fa209 100644 --- a/openstack_dashboard/dashboards/admin/group_types/tables.py +++ b/openstack_dashboard/dashboards/admin/group_types/tables.py @@ -63,16 +63,16 @@ class DeleteGroupType(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Group Type", - u"Delete Group Types", + "Delete Group Type", + "Delete Group Types", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Group Type", - u"Deleted Group Types", + "Deleted Group Type", + "Deleted Group Types", count ) policy_rules = (("volume", "group:group_types_manage"),) diff --git a/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py b/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py index bc085bc763..8564f16d4d 100644 --- a/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py +++ b/openstack_dashboard/dashboards/admin/hypervisors/compute/tables.py @@ -55,16 +55,16 @@ class EnableService(policy.PolicyTargetMixin, tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Enable Service", - u"Enable Services", + "Enable Service", + "Enable Services", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Enabled Service", - u"Enabled Services", + "Enabled Service", + "Enabled Services", count ) @@ -103,13 +103,11 @@ class ComputeHostTable(tables.DataTable): ) STATUS_DISPLAY_CHOICES = ( ("enabled", pgettext_lazy("Current status of a Hypervisor", - u"Enabled")), + "Enabled")), ("disabled", pgettext_lazy("Current status of a Hypervisor", - u"Disabled")), - ("up", pgettext_lazy("Current state of a Hypervisor", - u"Up")), - ("down", pgettext_lazy("Current state of a Hypervisor", - u"Down")), + "Disabled")), + ("up", pgettext_lazy("Current state of a Hypervisor", "Up")), + ("down", pgettext_lazy("Current state of a Hypervisor", "Down")), ) host = tables.WrappingColumn('host', verbose_name=_('Host')) diff --git a/openstack_dashboard/dashboards/admin/info/tables.py b/openstack_dashboard/dashboards/admin/info/tables.py index 22543a5cbf..d9be29697f 100644 --- a/openstack_dashboard/dashboards/admin/info/tables.py +++ b/openstack_dashboard/dashboards/admin/info/tables.py @@ -111,7 +111,7 @@ class NovaServicesTable(tables.DataTable): updated_at = tables.Column('updated_at', verbose_name=pgettext_lazy( 'Time since the last update', - u'Last Updated'), + 'Last Updated'), filters=(utils_filters.parse_isotime, filters.timesince)) @@ -135,7 +135,7 @@ class CinderServicesTable(tables.DataTable): updated_at = tables.Column('updated_at', verbose_name=pgettext_lazy( 'Time since the last update', - u'Last Updated'), + 'Last Updated'), filters=(utils_filters.parse_isotime, filters.timesince)) @@ -209,7 +209,7 @@ class NetworkAgentsTable(tables.DataTable): heartbeat_timestamp = tables.Column('heartbeat_timestamp', verbose_name=pgettext_lazy( 'Time since the last update', - u'Last Updated'), + 'Last Updated'), filters=(utils_filters.parse_isotime, filters.timesince)) diff --git a/openstack_dashboard/dashboards/admin/instances/tables.py b/openstack_dashboard/dashboards/admin/instances/tables.py index 3bb147cc74..4cdc131212 100644 --- a/openstack_dashboard/dashboards/admin/instances/tables.py +++ b/openstack_dashboard/dashboards/admin/instances/tables.py @@ -56,16 +56,16 @@ class MigrateInstance(policy.PolicyTargetMixin, tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Migrate Instance", - u"Migrate Instances", + "Migrate Instance", + "Migrate Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Scheduled migration (pending confirmation) of Instance", - u"Scheduled migration (pending confirmation) of Instances", + "Scheduled migration (pending confirmation) of Instance", + "Scheduled migration (pending confirmation) of Instances", count ) diff --git a/openstack_dashboard/dashboards/admin/metadata_defs/tables.py b/openstack_dashboard/dashboards/admin/metadata_defs/tables.py index 0b5a3e649a..0625cac7a1 100644 --- a/openstack_dashboard/dashboards/admin/metadata_defs/tables.py +++ b/openstack_dashboard/dashboards/admin/metadata_defs/tables.py @@ -44,16 +44,16 @@ class DeleteNamespace(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Namespace", - u"Delete Namespaces", + "Delete Namespace", + "Delete Namespaces", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Namespace", - u"Deleted Namespaces", + "Deleted Namespace", + "Deleted Namespaces", count ) diff --git a/openstack_dashboard/dashboards/admin/networks/agents/tables.py b/openstack_dashboard/dashboards/admin/networks/agents/tables.py index b8961929a0..da8c7beb69 100644 --- a/openstack_dashboard/dashboards/admin/networks/agents/tables.py +++ b/openstack_dashboard/dashboards/admin/networks/agents/tables.py @@ -32,16 +32,16 @@ class DeleteDHCPAgent(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete DHCP Agent", - u"Delete DHCP Agents", + "Delete DHCP Agent", + "Delete DHCP Agents", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted DHCP Agent", - u"Deleted DHCP Agents", + "Deleted DHCP Agent", + "Deleted DHCP Agents", count ) diff --git a/openstack_dashboard/dashboards/admin/networks/tables.py b/openstack_dashboard/dashboards/admin/networks/tables.py index 9af7cfdc8d..ed3b9d70f8 100644 --- a/openstack_dashboard/dashboards/admin/networks/tables.py +++ b/openstack_dashboard/dashboards/admin/networks/tables.py @@ -69,8 +69,8 @@ class CreateSubnet(project_tables.CreateSubnet): DISPLAY_CHOICES = ( - ("up", pgettext_lazy("Admin state of a Network", u"UP")), - ("down", pgettext_lazy("Admin state of a Network", u"DOWN")), + ("up", pgettext_lazy("Admin state of a Network", "UP")), + ("down", pgettext_lazy("Admin state of a Network", "DOWN")), ) diff --git a/openstack_dashboard/dashboards/admin/overview/tests.py b/openstack_dashboard/dashboards/admin/overview/tests.py index 054488828d..f53624d069 100644 --- a/openstack_dashboard/dashboards/admin/overview/tests.py +++ b/openstack_dashboard/dashboards/admin/overview/tests.py @@ -78,7 +78,7 @@ class UsageViewTests(test.BaseAdminViewTests): self.assertEqual(nova_stu_enabled, res.context['simple_tenant_usage_enabled']) - usage_table = encoding.smart_str(u''' + usage_table = encoding.smart_str(''' test_tenant %s @@ -97,7 +97,7 @@ class UsageViewTests(test.BaseAdminViewTests): ) # test for deleted project - usage_table_deleted = encoding.smart_str(u''' + usage_table_deleted = encoding.smart_str(''' 3 (Deleted) %s @@ -168,7 +168,7 @@ class UsageViewTests(test.BaseAdminViewTests): if nova_stu_enabled: for obj in usage_obj: - row = u'"{0}","{1}","{2}","{3}","{4:.2f}"\r\n'.format( + row = '"{0}","{1}","{2}","{3}","{4:.2f}"\r\n'.format( obj.project_name, obj.vcpus, obj.memory_mb, diff --git a/openstack_dashboard/dashboards/admin/rbac_policies/tables.py b/openstack_dashboard/dashboards/admin/rbac_policies/tables.py index 5298b3e72b..5aad054c04 100644 --- a/openstack_dashboard/dashboards/admin/rbac_policies/tables.py +++ b/openstack_dashboard/dashboards/admin/rbac_policies/tables.py @@ -36,16 +36,16 @@ class DeleteRBACPolicy(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete RBAC Policy", - u"Delete RBAC Policies", + "Delete RBAC Policy", + "Delete RBAC Policies", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted RBAC Policy", - u"Deleted RBAC Policies", + "Deleted RBAC Policy", + "Deleted RBAC Policies", count ) diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py b/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py index 1e6714cb47..843372b9b7 100644 --- a/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py +++ b/openstack_dashboard/dashboards/admin/volume_types/extras/tables.py @@ -24,16 +24,16 @@ class ExtraSpecDelete(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Extra Spec", - u"Delete Extra Specs", + "Delete Extra Spec", + "Delete Extra Specs", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Extra Spec", - u"Deleted Extra Specs", + "Deleted Extra Spec", + "Deleted Extra Specs", count ) diff --git a/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py b/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py index caf038bfab..42c8cff74d 100644 --- a/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py +++ b/openstack_dashboard/dashboards/admin/volume_types/extras/tests.py @@ -65,8 +65,8 @@ class VolTypeExtrasTests(test.BaseAdminViewTests): 'horizon:admin:volume_types:extras:index', args=[vol_type.id]) - data = {'key': u'k1', - 'value': u'v1'} + data = {'key': 'k1', + 'value': 'v1'} self.mock_volume_type_extra_set.return_value = None resp = self.client.post(create_url, data) @@ -103,7 +103,7 @@ class VolTypeExtrasTests(test.BaseAdminViewTests): index_url = reverse('horizon:admin:volume_types:extras:index', args=[vol_type.id]) - data = {'value': u'v1'} + data = {'value': 'v1'} extras = {key: data['value']} self.mock_volume_type_extra_get.return_value = extras diff --git a/openstack_dashboard/dashboards/admin/volume_types/forms.py b/openstack_dashboard/dashboards/admin/volume_types/forms.py index b306d8dc08..c73777b12b 100644 --- a/openstack_dashboard/dashboards/admin/volume_types/forms.py +++ b/openstack_dashboard/dashboards/admin/volume_types/forms.py @@ -112,7 +112,7 @@ class CreateVolumeTypeEncryption(forms.SelfHandlingForm): def handle(self, request, data): try: # Set Cipher to None if empty - if data['cipher'] == u'': + if data['cipher'] == '': data['cipher'] = None volume_type_id = data.pop('volume_type_id') @@ -138,7 +138,7 @@ class UpdateVolumeTypeEncryption(CreateVolumeTypeEncryption): def handle(self, request, data): try: # Set Cipher to None if empty - if data['cipher'] == u'': + if data['cipher'] == '': data['cipher'] = None volume_type_id = data.pop('volume_type_id') diff --git a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py index edd60dab06..6164a175a3 100644 --- a/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py +++ b/openstack_dashboard/dashboards/admin/volume_types/qos_specs/tables.py @@ -38,16 +38,16 @@ class SpecDeleteKeyValuePair(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Spec", - u"Delete Specs", + "Delete Spec", + "Delete Specs", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Spec", - u"Deleted Specs", + "Deleted Spec", + "Deleted Specs", count ) diff --git a/openstack_dashboard/dashboards/admin/volume_types/tables.py b/openstack_dashboard/dashboards/admin/volume_types/tables.py index d530fc38aa..85dda38f0b 100644 --- a/openstack_dashboard/dashboards/admin/volume_types/tables.py +++ b/openstack_dashboard/dashboards/admin/volume_types/tables.py @@ -75,16 +75,16 @@ class DeleteVolumeType(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Volume Type", - u"Delete Volume Types", + "Delete Volume Type", + "Delete Volume Types", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Volume Type", - u"Deleted Volume Types", + "Deleted Volume Type", + "Deleted Volume Types", count ) policy_rules = (("volume", "volume_extension:types_manage"),) @@ -126,16 +126,16 @@ class DeleteVolumeTypeEncryption(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Encryption", - u"Delete Encryptions", + "Delete Encryption", + "Delete Encryptions", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Encryption", - u"Deleted Encryptions", + "Deleted Encryption", + "Deleted Encryptions", count ) @@ -293,16 +293,16 @@ class DeleteQosSpecs(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete QoS Spec", - u"Delete QoS Specs", + "Delete QoS Spec", + "Delete QoS Specs", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted QoS Spec", - u"Deleted QoS Specs", + "Deleted QoS Spec", + "Deleted QoS Specs", count ) policy_rules = (("volume", "volume_extension:types_manage"),) diff --git a/openstack_dashboard/dashboards/admin/volume_types/tests.py b/openstack_dashboard/dashboards/admin/volume_types/tests.py index fb6a734e2f..24114e66b6 100644 --- a/openstack_dashboard/dashboards/admin/volume_types/tests.py +++ b/openstack_dashboard/dashboards/admin/volume_types/tests.py @@ -170,13 +170,13 @@ class VolumeTypeTests(test.BaseAdminViewTests): def test_create_volume_type_encryption(self): volume_type1 = self.cinder_volume_types.list()[0] volume_type2 = self.cinder_volume_types.list()[1] - volume_type1.id = u'1' - volume_type2.id = u'2' + volume_type1.id = '1' + volume_type2.id = '2' volume_type_list = [volume_type1, volume_type2] - formData = {'name': u'An Encrypted Volume Type', - 'provider': u'a-provider', - 'control_location': u'front-end', - 'cipher': u'a-cipher', + formData = {'name': 'An Encrypted Volume Type', + 'provider': 'a-provider', + 'control_location': 'front-end', + 'cipher': 'a-cipher', 'key_size': 512, 'volume_type_id': volume_type1.id} @@ -194,9 +194,9 @@ class VolumeTypeTests(test.BaseAdminViewTests): self.mock_volume_type_list.assert_called_once_with( test.IsHttpRequest()) expected = { - 'provider': u'a-provider', - 'control_location': u'front-end', - 'cipher': u'a-cipher', + 'provider': 'a-provider', + 'control_location': 'front-end', + 'cipher': 'a-cipher', 'key_size': 512, } self.mock_volume_encryption_type_create.assert_called_once_with( @@ -208,7 +208,7 @@ class VolumeTypeTests(test.BaseAdminViewTests): 'volume_type_list',)}) def test_type_encryption_detail_view_unencrypted(self): volume_type1 = self.cinder_volume_types.list()[0] - volume_type1.id = u'1' + volume_type1.id = '1' volume_type_list = [volume_type1] vol_unenc_type = self.cinder_volume_encryption_types.list()[2] @@ -235,7 +235,7 @@ class VolumeTypeTests(test.BaseAdminViewTests): 'volume_type_list',)}) def test_type_encryption_detail_view_encrypted(self): volume_type = self.cinder_volume_types.first() - volume_type.id = u'1' + volume_type.id = '1' volume_type.name = "An Encrypted Volume Name" volume_type_list = [volume_type] vol_enc_type = self.cinder_volume_encryption_types.list()[0] @@ -274,7 +274,7 @@ class VolumeTypeTests(test.BaseAdminViewTests): 'volume_encryption_type_delete',)}) def test_delete_volume_type_encryption(self): volume_type = self.cinder_volume_types.first() - volume_type.id = u'1' + volume_type.id = '1' formData = {'action': 'volume_types__delete_encryption__%s' % volume_type.id} encryption_list = (self.cinder_volume_encryption_types.list()[0], @@ -307,12 +307,12 @@ class VolumeTypeTests(test.BaseAdminViewTests): 'volume_type_list')}) def test_update_volume_type_encryption(self): volume_type = self.cinder_volume_types.first() - volume_type.id = u'1' + volume_type.id = '1' volume_type_list = [volume_type] - formData = {'name': u'An Encrypted Volume Type', - 'provider': u'a-provider', - 'control_location': u'front-end', - 'cipher': u'a-cipher', + formData = {'name': 'An Encrypted Volume Type', + 'provider': 'a-provider', + 'control_location': 'front-end', + 'cipher': 'a-cipher', 'key_size': 256, 'volume_type_id': volume_type.id} vol_enc_type = self.cinder_volume_encryption_types.list()[0] @@ -335,9 +335,9 @@ class VolumeTypeTests(test.BaseAdminViewTests): self.mock_volume_type_list.assert_called_once_with( test.IsHttpRequest()) expected = { - 'provider': u'a-provider', - 'control_location': u'front-end', - 'cipher': u'a-cipher', + 'provider': 'a-provider', + 'control_location': 'front-end', + 'cipher': 'a-cipher', 'key_size': 256, } self.mock_volume_encryption_type_update.assert_called_once_with( @@ -352,9 +352,9 @@ class VolumeTypeTests(test.BaseAdminViewTests): api.keystone: ('tenant_list',)}) def _test_edit_volume_type_access(self, exception=False): volume_type = self.cinder_volume_types.list()[2] - volume_type.id = u'1' + volume_type.id = '1' type_access = self.cinder_type_access.list() - formData = {'member': [u'3'], + formData = {'member': ['3'], 'volume_type_id': volume_type.id} self.mock_tenant_list.return_value = [self.tenants.list(), False] @@ -379,9 +379,9 @@ class VolumeTypeTests(test.BaseAdminViewTests): self.mock_volume_type_access_list.assert_called_once_with( test.IsHttpRequest(), volume_type.id) self.mock_volume_type_add_project_access.assert_called_once_with( - test.IsHttpRequest(), volume_type.id, u'3') + test.IsHttpRequest(), volume_type.id, '3') self.mock_volume_type_remove_project_access.assert_called_once_with( - test.IsHttpRequest(), volume_type.id, u'1') + test.IsHttpRequest(), volume_type.id, '1') def test_edit_volume_type_access(self): self._test_edit_volume_type_access() diff --git a/openstack_dashboard/dashboards/admin/volumes/tests.py b/openstack_dashboard/dashboards/admin/volumes/tests.py index 26af3f32be..b3338ea352 100644 --- a/openstack_dashboard/dashboards/admin/volumes/tests.py +++ b/openstack_dashboard/dashboards/admin/volumes/tests.py @@ -209,11 +209,11 @@ class VolumeTests(test.BaseAdminViewTests): api.cinder: ['extension_supported', 'availability_zone_list', 'volume_type_list', 'volume_manage']}) def test_manage_volume(self): - metadata = {'key': u'k1', - 'value': u'v1'} + metadata = {'key': 'k1', + 'value': 'v1'} form_data = {'host': 'host-1', 'identifier': 'vol-1', - 'id_type': u'source-name', + 'id_type': 'source-name', 'name': 'name-1', 'description': 'manage a volume', 'volume_type': 'vol_type_1', diff --git a/openstack_dashboard/dashboards/identity/domains/tables.py b/openstack_dashboard/dashboards/identity/domains/tables.py index 242481f0c1..bd885a6951 100644 --- a/openstack_dashboard/dashboards/identity/domains/tables.py +++ b/openstack_dashboard/dashboards/identity/domains/tables.py @@ -92,16 +92,16 @@ class DeleteDomainsAction(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Domain", - u"Delete Domains", + "Delete Domain", + "Delete Domains", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Domain", - u"Deleted Domains", + "Deleted Domain", + "Deleted Domains", count ) @@ -126,16 +126,16 @@ class DisableDomainsAction(tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Disable Domain", - u"Disable Domains", + "Disable Domain", + "Disable Domains", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Disabled Domain", - u"Disabled Domains", + "Disabled Domain", + "Disabled Domains", count ) @@ -166,16 +166,16 @@ class EnableDomainsAction(tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Enable Domain", - u"Enable Domains", + "Enable Domain", + "Enable Domains", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Enabled Domain", - u"Enabled Domains", + "Enabled Domain", + "Enabled Domains", count ) diff --git a/openstack_dashboard/dashboards/identity/groups/tables.py b/openstack_dashboard/dashboards/identity/groups/tables.py index 5899afeb85..fd171d4b3a 100644 --- a/openstack_dashboard/dashboards/identity/groups/tables.py +++ b/openstack_dashboard/dashboards/identity/groups/tables.py @@ -63,16 +63,16 @@ class DeleteGroupsAction(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Group", - u"Delete Groups", + "Delete Group", + "Delete Groups", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Group", - u"Deleted Groups", + "Deleted Group", + "Deleted Groups", count ) @@ -131,16 +131,16 @@ class RemoveMembers(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Remove User", - u"Remove Users", + "Remove User", + "Remove Users", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Removed User", - u"Removed Users", + "Removed User", + "Removed Users", count ) @@ -207,16 +207,16 @@ class AddMembers(tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Add User", - u"Add Users", + "Add User", + "Add Users", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Added User", - u"Added Users", + "Added User", + "Added Users", count ) diff --git a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py index 15e5d1e3bc..9e6a70cbf4 100644 --- a/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py +++ b/openstack_dashboard/dashboards/identity/identity_providers/protocols/tables.py @@ -38,16 +38,16 @@ class RemoveProtocol(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Protocol", - u"Delete Protocols", + "Delete Protocol", + "Delete Protocols", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Protocol", - u"Deleted Protocols", + "Deleted Protocol", + "Deleted Protocols", count ) diff --git a/openstack_dashboard/dashboards/identity/identity_providers/tables.py b/openstack_dashboard/dashboards/identity/identity_providers/tables.py index b25ba8b3c6..e0e1f4c3e3 100644 --- a/openstack_dashboard/dashboards/identity/identity_providers/tables.py +++ b/openstack_dashboard/dashboards/identity/identity_providers/tables.py @@ -51,16 +51,16 @@ class DeleteIdPsAction(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Unregister Identity Provider", - u"Unregister Identity Providers", + "Unregister Identity Provider", + "Unregister Identity Providers", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Unregistered Identity Provider", - u"Unregistered Identity Providers", + "Unregistered Identity Provider", + "Unregistered Identity Providers", count ) policy_rules = (("identity", "identity:delete_identity_provider"),) diff --git a/openstack_dashboard/dashboards/identity/mappings/tables.py b/openstack_dashboard/dashboards/identity/mappings/tables.py index 9c22285d65..bc9ce2fb9b 100644 --- a/openstack_dashboard/dashboards/identity/mappings/tables.py +++ b/openstack_dashboard/dashboards/identity/mappings/tables.py @@ -44,16 +44,16 @@ class DeleteMappingsAction(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Mapping", - u"Delete Mappings", + "Delete Mapping", + "Delete Mappings", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Mapping", - u"Deleted Mappings", + "Deleted Mapping", + "Deleted Mappings", count ) policy_rules = (("identity", "identity:delete_mapping"),) diff --git a/openstack_dashboard/dashboards/identity/projects/tables.py b/openstack_dashboard/dashboards/identity/projects/tables.py index 0d10526c5c..277ed232e0 100644 --- a/openstack_dashboard/dashboards/identity/projects/tables.py +++ b/openstack_dashboard/dashboards/identity/projects/tables.py @@ -160,16 +160,16 @@ class DeleteTenantsAction(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Project", - u"Delete Projects", + "Delete Project", + "Delete Projects", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Project", - u"Deleted Projects", + "Deleted Project", + "Deleted Projects", count ) diff --git a/openstack_dashboard/dashboards/identity/roles/tables.py b/openstack_dashboard/dashboards/identity/roles/tables.py index 6e7c6d3542..0eb81d4cdf 100644 --- a/openstack_dashboard/dashboards/identity/roles/tables.py +++ b/openstack_dashboard/dashboards/identity/roles/tables.py @@ -48,16 +48,16 @@ class DeleteRolesAction(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Role", - u"Delete Roles", + "Delete Role", + "Delete Roles", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Role", - u"Deleted Roles", + "Deleted Role", + "Deleted Roles", count ) policy_rules = (("identity", "identity:delete_role"),) diff --git a/openstack_dashboard/dashboards/identity/users/tables.py b/openstack_dashboard/dashboards/identity/users/tables.py index d3345c01cd..a2b9ba8bd5 100644 --- a/openstack_dashboard/dashboards/identity/users/tables.py +++ b/openstack_dashboard/dashboards/identity/users/tables.py @@ -76,13 +76,13 @@ class ToggleEnabled(policy.PolicyTargetMixin, tables.BatchAction): def action_present(count): return ( ungettext_lazy( - u"Enable User", - u"Enable Users", + "Enable User", + "Enable Users", count ), ungettext_lazy( - u"Disable User", - u"Disable Users", + "Disable User", + "Disable Users", count ), ) @@ -91,13 +91,13 @@ class ToggleEnabled(policy.PolicyTargetMixin, tables.BatchAction): def action_past(count): return ( ungettext_lazy( - u"Enabled User", - u"Enabled Users", + "Enabled User", + "Enabled Users", count ), ungettext_lazy( - u"Disabled User", - u"Disabled Users", + "Disabled User", + "Disabled Users", count ), ) @@ -134,16 +134,16 @@ class DeleteUsersAction(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete User", - u"Delete Users", + "Delete User", + "Delete Users", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted User", - u"Deleted Users", + "Deleted User", + "Deleted Users", count ) policy_rules = (("identity", "identity:delete_user"),) diff --git a/openstack_dashboard/dashboards/identity/users/tests.py b/openstack_dashboard/dashboards/identity/users/tests.py index ebd532a243..232cad62fb 100644 --- a/openstack_dashboard/dashboards/identity/users/tests.py +++ b/openstack_dashboard/dashboards/identity/users/tests.py @@ -855,8 +855,8 @@ class UsersViewTests(test.BaseAdminViewTests): res = self.client.post(USERS_INDEX_URL, formData, follow=True) self.assertEqual(list(res.context['messages'])[0].message, - u'You are not allowed to disable user: ' - u'test_user') + 'You are not allowed to disable user: ' + 'test_user') self.assert_mock_multiple_calls_with_same_arguments( self.mock_get_effective_domain_id, 2, @@ -889,8 +889,8 @@ class UsersViewTests(test.BaseAdminViewTests): res = self.client.post(USERS_INDEX_URL, formData, follow=True) self.assertEqual(list(res.context['messages'])[0].message, - u'You are not allowed to disable user: ' - u'test_user') + 'You are not allowed to disable user: ' + 'test_user') self.assert_mock_multiple_calls_with_same_arguments( self.mock_get_effective_domain_id, 2, @@ -919,7 +919,7 @@ class UsersViewTests(test.BaseAdminViewTests): res = self.client.post(USERS_INDEX_URL, formData, follow=True) self.assertEqual(list(res.context['messages'])[0].message, - u'You are not allowed to delete user: %s' + 'You are not allowed to delete user: %s' % self.request.user.username) self.assert_mock_multiple_calls_with_same_arguments( @@ -953,7 +953,7 @@ class UsersViewTests(test.BaseAdminViewTests): res = self.client.post(USERS_INDEX_URL, formData, follow=True) self.assertEqual(list(res.context['messages'])[0].message, - u'You are not allowed to delete user: %s' + 'You are not allowed to delete user: %s' % self.request.user.username) self.assert_mock_multiple_calls_with_same_arguments( diff --git a/openstack_dashboard/dashboards/project/api_access/tests.py b/openstack_dashboard/dashboards/project/api_access/tests.py index 865d63f0c8..66d5709997 100644 --- a/openstack_dashboard/dashboards/project/api_access/tests.py +++ b/openstack_dashboard/dashboards/project/api_access/tests.py @@ -132,7 +132,7 @@ class ASCIITenantNameRCTests(test.TestCase): class UnicodeTenantNameRCTests(test.TestCase): - TENANT_NAME = u'\u043f\u0440\u043e\u0435\u043a\u0442' + TENANT_NAME = '\u043f\u0440\u043e\u0435\u043a\u0442' def _setup_user(self, **kwargs): super()._setup_user(tenant_name=self.TENANT_NAME) diff --git a/openstack_dashboard/dashboards/project/backups/tables.py b/openstack_dashboard/dashboards/project/backups/tables.py index 4b7e32e69c..e631a5ccba 100644 --- a/openstack_dashboard/dashboards/project/backups/tables.py +++ b/openstack_dashboard/dashboards/project/backups/tables.py @@ -69,16 +69,16 @@ class DeleteBackup(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Volume Backup", - u"Delete Volume Backups", + "Delete Volume Backup", + "Delete Volume Backups", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Scheduled deletion of Volume Backup", - u"Scheduled deletion of Volume Backups", + "Scheduled deletion of Volume Backup", + "Scheduled deletion of Volume Backups", count ) @@ -145,17 +145,17 @@ class BackupsTable(tables.DataTable): ) STATUS_DISPLAY_CHOICES = ( ("available", pgettext_lazy("Current status of a Volume Backup", - u"Available")), + "Available")), ("error", pgettext_lazy("Current status of a Volume Backup", - u"Error")), + "Error")), ("creating", pgettext_lazy("Current status of a Volume Backup", - u"Creating")), + "Creating")), ("restoring", pgettext_lazy("Current status of a Volume Backup", - u"Restoring")), + "Restoring")), ("deleting", pgettext_lazy("Current status of a Volume Backup", - u"Deleting")), + "Deleting")), ("error_restoring", pgettext_lazy("Current status of a Volume Backup", - u"Error Restoring")), + "Error Restoring")), ) name = tables.Column("name", verbose_name=_("Name"), diff --git a/openstack_dashboard/dashboards/project/floating_ips/tables.py b/openstack_dashboard/dashboards/project/floating_ips/tables.py index 765da4dc45..f28d2792e7 100644 --- a/openstack_dashboard/dashboards/project/floating_ips/tables.py +++ b/openstack_dashboard/dashboards/project/floating_ips/tables.py @@ -75,16 +75,16 @@ class ReleaseIPs(tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Release Floating IP", - u"Release Floating IPs", + "Release Floating IP", + "Release Floating IPs", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Released Floating IP", - u"Released Floating IPs", + "Released Floating IP", + "Released Floating IPs", count ) @@ -158,9 +158,9 @@ def get_instance_link(datum): STATUS_DISPLAY_CHOICES = ( - ("active", pgettext_lazy("Current status of a Floating IP", u"Active")), - ("down", pgettext_lazy("Current status of a Floating IP", u"Down")), - ("error", pgettext_lazy("Current status of a Floating IP", u"Error")), + ("active", pgettext_lazy("Current status of a Floating IP", "Active")), + ("down", pgettext_lazy("Current status of a Floating IP", "Down")), + ("error", pgettext_lazy("Current status of a Floating IP", "Error")), ) diff --git a/openstack_dashboard/dashboards/project/images/images/tables.py b/openstack_dashboard/dashboards/project/images/images/tables.py index abac0d0982..21bea9a19c 100644 --- a/openstack_dashboard/dashboards/project/images/images/tables.py +++ b/openstack_dashboard/dashboards/project/images/images/tables.py @@ -90,16 +90,16 @@ class DeleteImage(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Image", - u"Delete Images", + "Delete Image", + "Delete Images", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Image", - u"Deleted Images", + "Deleted Image", + "Deleted Images", count ) @@ -266,10 +266,10 @@ def get_format(image): if format == "raw": if getattr(image, "container_format") == 'docker': return pgettext_lazy("Image format for display in table", - u"Docker") + "Docker") # Most image formats are untranslated acronyms, but raw is a word # and should be translated - return pgettext_lazy("Image format for display in table", u"Raw") + return pgettext_lazy("Image format for display in table", "Raw") return format.upper() @@ -301,19 +301,19 @@ class ImagesTable(tables.DataTable): ("deactivated", False), ) STATUS_DISPLAY_CHOICES = ( - ("active", pgettext_lazy("Current status of an Image", u"Active")), - ("saving", pgettext_lazy("Current status of an Image", u"Saving")), - ("queued", pgettext_lazy("Current status of an Image", u"Queued")), + ("active", pgettext_lazy("Current status of an Image", "Active")), + ("saving", pgettext_lazy("Current status of an Image", "Saving")), + ("queued", pgettext_lazy("Current status of an Image", "Queued")), ("pending_delete", pgettext_lazy("Current status of an Image", - u"Pending Delete")), - ("killed", pgettext_lazy("Current status of an Image", u"Killed")), - ("deleted", pgettext_lazy("Current status of an Image", u"Deleted")), + "Pending Delete")), + ("killed", pgettext_lazy("Current status of an Image", "Killed")), + ("deleted", pgettext_lazy("Current status of an Image", "Deleted")), ("deactivated", pgettext_lazy("Current status of an Image", - u"Deactivated")), + "Deactivated")), ) TYPE_CHOICES = ( - ("image", pgettext_lazy("Type of an image", u"Image")), - ("snapshot", pgettext_lazy("Type of an image", u"Snapshot")), + ("image", pgettext_lazy("Type of an image", "Image")), + ("snapshot", pgettext_lazy("Type of an image", "Snapshot")), ) name = tables.WrappingColumn(get_image_name, link="horizon:project:images:images:detail", diff --git a/openstack_dashboard/dashboards/project/images/images/tests.py b/openstack_dashboard/dashboards/project/images/images/tests.py index e383d23902..1a5dca8fa0 100644 --- a/openstack_dashboard/dashboards/project/images/images/tests.py +++ b/openstack_dashboard/dashboards/project/images/images/tests.py @@ -50,11 +50,11 @@ class CreateImageFormTests(test.ResetImageAPIVersionMixin, test.TestCase): ] post = { - 'name': u'Ubuntu 11.10', - 'source_type': u'file', - 'description': u'Login with admin/admin', - 'disk_format': u'qcow2', - 'architecture': u'x86-64', + 'name': 'Ubuntu 11.10', + 'source_type': 'file', + 'description': 'Login with admin/admin', + 'disk_format': 'qcow2', + 'architecture': 'x86-64', 'min_disk': 15, 'min_ram': 512, 'is_public': 1} @@ -91,15 +91,15 @@ class UpdateImageFormTests(test.ResetImageAPIVersionMixin, test.TestCase): def test_image_update_post_v2(self, mock_image_update, mock_image_get): image = self.images.first() data = { - 'name': u'Ubuntu 11.10', + 'name': 'Ubuntu 11.10', 'image_id': str(image.id), - 'description': u'Login with admin/admin', - 'source_type': u'url', - 'image_url': u'http://cloud-images.ubuntu.com/releases/' - u'oneiric/release/ubuntu-11.10-server-cloudimg' - u'-amd64-disk1.img', - 'disk_format': u'qcow2', - 'architecture': u'x86-64', + 'description': 'Login with admin/admin', + 'source_type': 'url', + 'image_url': 'http://cloud-images.ubuntu.com/releases/' + 'oneiric/release/ubuntu-11.10-server-cloudimg' + '-amd64-disk1.img', + 'disk_format': 'qcow2', + 'architecture': 'x86-64', 'min_disk': 15, 'min_ram': 512, 'is_public': False, @@ -155,10 +155,10 @@ class ImageViewTests(test.ResetImageAPIVersionMixin, test.TestCase): def test_image_create_post_location_v2(self, mock_schemas_list): mock_schemas_list.return_value = self.image_schemas.first() data = { - 'source_type': u'url', - 'image_url': u'http://cloud-images.ubuntu.com/releases/' - u'oneiric/release/ubuntu-11.10-server-cloudimg' - u'-amd64-disk1.img'} + 'source_type': 'url', + 'image_url': 'http://cloud-images.ubuntu.com/releases/' + 'oneiric/release/ubuntu-11.10-server-cloudimg' + '-amd64-disk1.img'} api_data = {'location': data['image_url']} self._test_image_create(data, api_data) @@ -171,7 +171,7 @@ class ImageViewTests(test.ResetImageAPIVersionMixin, test.TestCase): temp_file.flush() temp_file.seek(0) - data = {'source_type': u'file', + data = {'source_type': 'file', 'image_file': temp_file} api_data = {'data': test.IsA(InMemoryUploadedFile)} @@ -186,7 +186,7 @@ class ImageViewTests(test.ResetImageAPIVersionMixin, test.TestCase): temp_file.seek(0) data = { - 'source_type': u'file', + 'source_type': 'file', 'image_file': temp_file, 'kernel_id': '007e7d55-fe1e-4c5c-bf08-44b4a496482e', 'ramdisk_id': '007e7d55-fe1e-4c5c-bf08-44b4a496482a' @@ -200,10 +200,10 @@ class ImageViewTests(test.ResetImageAPIVersionMixin, test.TestCase): def _test_image_create(self, extra_form_data, extra_api_data, mock_image_list, mock_image_create): data = { - 'name': u'Ubuntu 11.10', - 'description': u'Login with admin/admin', - 'disk_format': u'qcow2', - 'architecture': u'x86-64', + 'name': 'Ubuntu 11.10', + 'description': 'Login with admin/admin', + 'disk_format': 'qcow2', + 'architecture': 'x86-64', 'min_disk': 15, 'min_ram': 512, 'is_public': True, diff --git a/openstack_dashboard/dashboards/project/images/tests.py b/openstack_dashboard/dashboards/project/images/tests.py index 52ae38ee9c..0de38198ed 100644 --- a/openstack_dashboard/dashboards/project/images/tests.py +++ b/openstack_dashboard/dashboards/project/images/tests.py @@ -115,23 +115,23 @@ class ImagesAndSnapshotsTests(BaseImagesTestCase): # first instance - status active, owned self.assertEqual(len(row_actions), 5) - self.assertEqual(row_actions[0].verbose_name, u"Launch") - self.assertEqual(row_actions[1].verbose_name, u"Create Volume") - self.assertEqual(row_actions[2].verbose_name, u"Edit Image") - self.assertEqual(row_actions[3].verbose_name, u"Update Metadata") - self.assertEqual(row_actions[4].verbose_name, u"Delete Image") + self.assertEqual(row_actions[0].verbose_name, "Launch") + self.assertEqual(row_actions[1].verbose_name, "Create Volume") + self.assertEqual(row_actions[2].verbose_name, "Edit Image") + self.assertEqual(row_actions[3].verbose_name, "Update Metadata") + self.assertEqual(row_actions[4].verbose_name, "Delete Image") row_actions = snaps.get_row_actions(snaps.data[1]) # second instance - status active, not owned self.assertEqual(len(row_actions), 2) - self.assertEqual(row_actions[0].verbose_name, u"Launch") - self.assertEqual(row_actions[1].verbose_name, u"Create Volume") + self.assertEqual(row_actions[0].verbose_name, "Launch") + self.assertEqual(row_actions[1].verbose_name, "Create Volume") row_actions = snaps.get_row_actions(snaps.data[2]) # third instance - status queued, only delete is available self.assertEqual(len(row_actions), 1) - self.assertEqual(row_actions[0].verbose_name, u"Delete Image") + self.assertEqual(row_actions[0].verbose_name, "Delete Image") self.assertEqual(str(row_actions[0]), "") self.mock_image_list.assert_called_once_with(test.IsHttpRequest(), diff --git a/openstack_dashboard/dashboards/project/instances/audit_tables.py b/openstack_dashboard/dashboards/project/instances/audit_tables.py index 74a59ce149..9d7b992109 100644 --- a/openstack_dashboard/dashboards/project/instances/audit_tables.py +++ b/openstack_dashboard/dashboards/project/instances/audit_tables.py @@ -22,27 +22,27 @@ from horizon.utils import filters class AuditTable(tables.DataTable): ACTION_DISPLAY_CHOICES = ( - ("create", pgettext_lazy("Action log of an instance", u"Create")), - ("pause", pgettext_lazy("Action log of an instance", u"Pause")), - ("unpause", pgettext_lazy("Action log of an instance", u"Unpause")), - ("rebuild", pgettext_lazy("Action log of an instance", u"Rebuild")), - ("resize", pgettext_lazy("Action log of an instance", u"Resize")), + ("create", pgettext_lazy("Action log of an instance", "Create")), + ("pause", pgettext_lazy("Action log of an instance", "Pause")), + ("unpause", pgettext_lazy("Action log of an instance", "Unpause")), + ("rebuild", pgettext_lazy("Action log of an instance", "Rebuild")), + ("resize", pgettext_lazy("Action log of an instance", "Resize")), ("confirmresize", pgettext_lazy("Action log of an instance", - u"Confirm Resize")), - ("suspend", pgettext_lazy("Action log of an instance", u"Suspend")), - ("resume", pgettext_lazy("Action log of an instance", u"Resume")), - ("reboot", pgettext_lazy("Action log of an instance", u"Reboot")), - ("stop", pgettext_lazy("Action log of an instance", u"Stop")), - ("start", pgettext_lazy("Action log of an instance", u"Start")), - ("shelve", pgettext_lazy("Action log of an instance", u"Shelve")), - ("unshelve", pgettext_lazy("Action log of an instance", u"Unshelve")), - ("migrate", pgettext_lazy("Action log of an instance", u"Migrate")), - ("rescue", pgettext_lazy("Action log of an instance", u"Rescue")), - ("unrescue", pgettext_lazy("Action log of an instance", u"Unrescue")), - ("lock", pgettext_lazy("Action log of an instance", u"Lock")), - ("unlock", pgettext_lazy("Action log of an instance", u"Unlock")), + "Confirm Resize")), + ("suspend", pgettext_lazy("Action log of an instance", "Suspend")), + ("resume", pgettext_lazy("Action log of an instance", "Resume")), + ("reboot", pgettext_lazy("Action log of an instance", "Reboot")), + ("stop", pgettext_lazy("Action log of an instance", "Stop")), + ("start", pgettext_lazy("Action log of an instance", "Start")), + ("shelve", pgettext_lazy("Action log of an instance", "Shelve")), + ("unshelve", pgettext_lazy("Action log of an instance", "Unshelve")), + ("migrate", pgettext_lazy("Action log of an instance", "Migrate")), + ("rescue", pgettext_lazy("Action log of an instance", "Rescue")), + ("unrescue", pgettext_lazy("Action log of an instance", "Unrescue")), + ("lock", pgettext_lazy("Action log of an instance", "Lock")), + ("unlock", pgettext_lazy("Action log of an instance", "Unlock")), ("createimage", pgettext_lazy("Action log of an instance", - u"Create Image")), + "Create Image")), ) request_id = tables.Column('request_id', diff --git a/openstack_dashboard/dashboards/project/instances/tables.py b/openstack_dashboard/dashboards/project/instances/tables.py index 40b33589b6..674ebdca28 100644 --- a/openstack_dashboard/dashboards/project/instances/tables.py +++ b/openstack_dashboard/dashboards/project/instances/tables.py @@ -89,16 +89,16 @@ class DeleteInstance(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Instance", - u"Delete Instances", + "Delete Instance", + "Delete Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Scheduled deletion of Instance", - u"Scheduled deletion of Instances", + "Scheduled deletion of Instance", + "Scheduled deletion of Instances", count ) @@ -123,16 +123,16 @@ class RebootInstance(policy.PolicyTargetMixin, tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Hard Reboot Instance", - u"Hard Reboot Instances", + "Hard Reboot Instance", + "Hard Reboot Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Hard Rebooted Instance", - u"Hard Rebooted Instances", + "Hard Rebooted Instance", + "Hard Rebooted Instances", count ) @@ -153,16 +153,16 @@ class SoftRebootInstance(RebootInstance): @staticmethod def action_present(count): return ungettext_lazy( - u"Soft Reboot Instance", - u"Soft Reboot Instances", + "Soft Reboot Instance", + "Soft Reboot Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Soft Rebooted Instance", - u"Soft Rebooted Instances", + "Soft Rebooted Instance", + "Soft Rebooted Instances", count ) @@ -197,16 +197,16 @@ class UnRescueInstance(tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Unrescue Instance", - u"Unrescue Instances", + "Unrescue Instance", + "Unrescue Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Unrescued Instance", - u"Unrescued Instances", + "Unrescued Instance", + "Unrescued Instances", count ) @@ -227,13 +227,13 @@ class TogglePause(tables.BatchAction): def action_present(count): return ( ungettext_lazy( - u"Pause Instance", - u"Pause Instances", + "Pause Instance", + "Pause Instances", count ), ungettext_lazy( - u"Resume Instance", - u"Resume Instances", + "Resume Instance", + "Resume Instances", count ), ) @@ -242,13 +242,13 @@ class TogglePause(tables.BatchAction): def action_past(count): return ( ungettext_lazy( - u"Paused Instance", - u"Paused Instances", + "Paused Instance", + "Paused Instances", count ), ungettext_lazy( - u"Resumed Instance", - u"Resumed Instances", + "Resumed Instance", + "Resumed Instances", count ), ) @@ -291,13 +291,13 @@ class ToggleSuspend(tables.BatchAction): def action_present(count): return ( ungettext_lazy( - u"Suspend Instance", - u"Suspend Instances", + "Suspend Instance", + "Suspend Instances", count ), ungettext_lazy( - u"Resume Instance", - u"Resume Instances", + "Resume Instance", + "Resume Instances", count ), ) @@ -306,13 +306,13 @@ class ToggleSuspend(tables.BatchAction): def action_past(count): return ( ungettext_lazy( - u"Suspended Instance", - u"Suspended Instances", + "Suspended Instance", + "Suspended Instances", count ), ungettext_lazy( - u"Resumed Instance", - u"Resumed Instances", + "Resumed Instance", + "Resumed Instances", count ), ) @@ -355,13 +355,13 @@ class ToggleShelve(tables.BatchAction): def action_present(count): return ( ungettext_lazy( - u"Shelve Instance", - u"Shelve Instances", + "Shelve Instance", + "Shelve Instances", count ), ungettext_lazy( - u"Unshelve Instance", - u"Unshelve Instances", + "Unshelve Instance", + "Unshelve Instances", count ), ) @@ -370,13 +370,13 @@ class ToggleShelve(tables.BatchAction): def action_past(count): return ( ungettext_lazy( - u"Shelved Instance", - u"Shelved Instances", + "Shelved Instance", + "Shelved Instances", count ), ungettext_lazy( - u"Unshelved Instance", - u"Unshelved Instances", + "Unshelved Instance", + "Unshelved Instances", count ), ) @@ -817,16 +817,16 @@ class StartInstance(policy.PolicyTargetMixin, tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Start Instance", - u"Start Instances", + "Start Instance", + "Start Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Started Instance", - u"Started Instances", + "Started Instance", + "Started Instances", count ) @@ -848,8 +848,8 @@ class StopInstance(policy.PolicyTargetMixin, tables.BatchAction): def action_present(count): return npgettext_lazy( "Action to perform (the instance is currently running)", - u"Shut Off Instance", - u"Shut Off Instances", + "Shut Off Instance", + "Shut Off Instances", count ) @@ -857,8 +857,8 @@ class StopInstance(policy.PolicyTargetMixin, tables.BatchAction): def action_past(count): return npgettext_lazy( "Past action (the instance is currently already Shut Off)", - u"Shut Off Instance", - u"Shut Off Instances", + "Shut Off Instance", + "Shut Off Instances", count ) @@ -878,16 +878,16 @@ class LockInstance(policy.PolicyTargetMixin, tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Lock Instance", - u"Lock Instances", + "Lock Instance", + "Lock Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Locked Instance", - u"Locked Instances", + "Locked Instance", + "Locked Instances", count ) @@ -910,16 +910,16 @@ class UnlockInstance(policy.PolicyTargetMixin, tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Unlock Instance", - u"Unlock Instances", + "Unlock Instance", + "Unlock Instances", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Unlocked Instance", - u"Unlocked Instances", + "Unlocked Instance", + "Unlocked Instances", count ) @@ -1059,131 +1059,131 @@ def get_power_state(instance): STATUS_DISPLAY_CHOICES = ( - ("deleted", pgettext_lazy("Current status of an Instance", u"Deleted")), - ("active", pgettext_lazy("Current status of an Instance", u"Active")), - ("shutoff", pgettext_lazy("Current status of an Instance", u"Shutoff")), + ("deleted", pgettext_lazy("Current status of an Instance", "Deleted")), + ("active", pgettext_lazy("Current status of an Instance", "Active")), + ("shutoff", pgettext_lazy("Current status of an Instance", "Shutoff")), ("suspended", pgettext_lazy("Current status of an Instance", - u"Suspended")), - ("paused", pgettext_lazy("Current status of an Instance", u"Paused")), - ("error", pgettext_lazy("Current status of an Instance", u"Error")), + "Suspended")), + ("paused", pgettext_lazy("Current status of an Instance", "Paused")), + ("error", pgettext_lazy("Current status of an Instance", "Error")), ("resize", pgettext_lazy("Current status of an Instance", - u"Resize/Migrate")), + "Resize/Migrate")), ("verify_resize", pgettext_lazy("Current status of an Instance", - u"Confirm or Revert Resize/Migrate")), + "Confirm or Revert Resize/Migrate")), ("revert_resize", pgettext_lazy( - "Current status of an Instance", u"Revert Resize/Migrate")), - ("reboot", pgettext_lazy("Current status of an Instance", u"Reboot")), + "Current status of an Instance", "Revert Resize/Migrate")), + ("reboot", pgettext_lazy("Current status of an Instance", "Reboot")), ("hard_reboot", pgettext_lazy("Current status of an Instance", - u"Hard Reboot")), - ("password", pgettext_lazy("Current status of an Instance", u"Password")), - ("rebuild", pgettext_lazy("Current status of an Instance", u"Rebuild")), + "Hard Reboot")), + ("password", pgettext_lazy("Current status of an Instance", "Password")), + ("rebuild", pgettext_lazy("Current status of an Instance", "Rebuild")), ("migrating", pgettext_lazy("Current status of an Instance", - u"Migrating")), - ("build", pgettext_lazy("Current status of an Instance", u"Build")), - ("rescue", pgettext_lazy("Current status of an Instance", u"Rescue")), + "Migrating")), + ("build", pgettext_lazy("Current status of an Instance", "Build")), + ("rescue", pgettext_lazy("Current status of an Instance", "Rescue")), ("soft-delete", pgettext_lazy("Current status of an Instance", - u"Soft Deleted")), - ("shelved", pgettext_lazy("Current status of an Instance", u"Shelved")), + "Soft Deleted")), + ("shelved", pgettext_lazy("Current status of an Instance", "Shelved")), ("shelved_offloaded", pgettext_lazy("Current status of an Instance", - u"Shelved Offloaded")), + "Shelved Offloaded")), # these vm states are used when generating CSV usage summary - ("building", pgettext_lazy("Current status of an Instance", u"Building")), - ("stopped", pgettext_lazy("Current status of an Instance", u"Stopped")), - ("rescued", pgettext_lazy("Current status of an Instance", u"Rescued")), - ("resized", pgettext_lazy("Current status of an Instance", u"Resized")), + ("building", pgettext_lazy("Current status of an Instance", "Building")), + ("stopped", pgettext_lazy("Current status of an Instance", "Stopped")), + ("rescued", pgettext_lazy("Current status of an Instance", "Rescued")), + ("resized", pgettext_lazy("Current status of an Instance", "Resized")), ) -TASK_DISPLAY_NONE = pgettext_lazy("Task status of an Instance", u"None") +TASK_DISPLAY_NONE = pgettext_lazy("Task status of an Instance", "None") # Mapping of task states taken from Nova's nova/compute/task_states.py TASK_DISPLAY_CHOICES = ( ("scheduling", pgettext_lazy("Task status of an Instance", - u"Scheduling")), + "Scheduling")), ("block_device_mapping", pgettext_lazy("Task status of an Instance", - u"Block Device Mapping")), + "Block Device Mapping")), ("networking", pgettext_lazy("Task status of an Instance", - u"Networking")), - ("spawning", pgettext_lazy("Task status of an Instance", u"Spawning")), + "Networking")), + ("spawning", pgettext_lazy("Task status of an Instance", "Spawning")), ("image_snapshot", pgettext_lazy("Task status of an Instance", - u"Snapshotting")), + "Snapshotting")), ("image_snapshot_pending", pgettext_lazy("Task status of an Instance", - u"Image Snapshot Pending")), + "Image Snapshot Pending")), ("image_pending_upload", pgettext_lazy("Task status of an Instance", - u"Image Pending Upload")), + "Image Pending Upload")), ("image_uploading", pgettext_lazy("Task status of an Instance", - u"Image Uploading")), + "Image Uploading")), ("image_backup", pgettext_lazy("Task status of an Instance", - u"Image Backup")), + "Image Backup")), ("updating_password", pgettext_lazy("Task status of an Instance", - u"Updating Password")), + "Updating Password")), ("resize_prep", pgettext_lazy("Task status of an Instance", - u"Preparing Resize or Migrate")), + "Preparing Resize or Migrate")), ("resize_migrating", pgettext_lazy("Task status of an Instance", - u"Resizing or Migrating")), + "Resizing or Migrating")), ("resize_migrated", pgettext_lazy("Task status of an Instance", - u"Resized or Migrated")), + "Resized or Migrated")), ("resize_finish", pgettext_lazy("Task status of an Instance", - u"Finishing Resize or Migrate")), + "Finishing Resize or Migrate")), ("resize_reverting", pgettext_lazy("Task status of an Instance", - u"Reverting Resize or Migrate")), + "Reverting Resize or Migrate")), ("resize_confirming", pgettext_lazy("Task status of an Instance", - u"Confirming Resize or Migrate")), - ("rebooting", pgettext_lazy("Task status of an Instance", u"Rebooting")), + "Confirming Resize or Migrate")), + ("rebooting", pgettext_lazy("Task status of an Instance", "Rebooting")), ("reboot_pending", pgettext_lazy("Task status of an Instance", - u"Reboot Pending")), + "Reboot Pending")), ("reboot_started", pgettext_lazy("Task status of an Instance", - u"Reboot Started")), + "Reboot Started")), ("rebooting_hard", pgettext_lazy("Task status of an Instance", - u"Hard Rebooting")), + "Hard Rebooting")), ("reboot_pending_hard", pgettext_lazy("Task status of an Instance", - u"Hard Reboot Pending")), + "Hard Reboot Pending")), ("reboot_started_hard", pgettext_lazy("Task status of an Instance", - u"Hard Reboot Started")), - ("pausing", pgettext_lazy("Task status of an Instance", u"Pausing")), - ("unpausing", pgettext_lazy("Task status of an Instance", u"Resuming")), + "Hard Reboot Started")), + ("pausing", pgettext_lazy("Task status of an Instance", "Pausing")), + ("unpausing", pgettext_lazy("Task status of an Instance", "Resuming")), ("suspending", pgettext_lazy("Task status of an Instance", - u"Suspending")), - ("resuming", pgettext_lazy("Task status of an Instance", u"Resuming")), + "Suspending")), + ("resuming", pgettext_lazy("Task status of an Instance", "Resuming")), ("powering-off", pgettext_lazy("Task status of an Instance", - u"Powering Off")), + "Powering Off")), ("powering-on", pgettext_lazy("Task status of an Instance", - u"Powering On")), - ("rescuing", pgettext_lazy("Task status of an Instance", u"Rescuing")), + "Powering On")), + ("rescuing", pgettext_lazy("Task status of an Instance", "Rescuing")), ("unrescuing", pgettext_lazy("Task status of an Instance", - u"Unrescuing")), + "Unrescuing")), ("rebuilding", pgettext_lazy("Task status of an Instance", - u"Rebuilding")), + "Rebuilding")), ("rebuild_block_device_mapping", pgettext_lazy( - "Task status of an Instance", u"Rebuild Block Device Mapping")), + "Task status of an Instance", "Rebuild Block Device Mapping")), ("rebuild_spawning", pgettext_lazy("Task status of an Instance", - u"Rebuild Spawning")), - ("migrating", pgettext_lazy("Task status of an Instance", u"Migrating")), - ("deleting", pgettext_lazy("Task status of an Instance", u"Deleting")), + "Rebuild Spawning")), + ("migrating", pgettext_lazy("Task status of an Instance", "Migrating")), + ("deleting", pgettext_lazy("Task status of an Instance", "Deleting")), ("soft-deleting", pgettext_lazy("Task status of an Instance", - u"Soft Deleting")), - ("restoring", pgettext_lazy("Task status of an Instance", u"Restoring")), - ("shelving", pgettext_lazy("Task status of an Instance", u"Shelving")), + "Soft Deleting")), + ("restoring", pgettext_lazy("Task status of an Instance", "Restoring")), + ("shelving", pgettext_lazy("Task status of an Instance", "Shelving")), ("shelving_image_pending_upload", pgettext_lazy( - "Task status of an Instance", u"Shelving Image Pending Upload")), + "Task status of an Instance", "Shelving Image Pending Upload")), ("shelving_image_uploading", pgettext_lazy("Task status of an Instance", - u"Shelving Image Uploading")), + "Shelving Image Uploading")), ("shelving_offloading", pgettext_lazy("Task status of an Instance", - u"Shelving Offloading")), + "Shelving Offloading")), ("unshelving", pgettext_lazy("Task status of an Instance", - u"Unshelving")), + "Unshelving")), ) POWER_DISPLAY_CHOICES = ( - ("NO STATE", pgettext_lazy("Power state of an Instance", u"No State")), - ("RUNNING", pgettext_lazy("Power state of an Instance", u"Running")), - ("BLOCKED", pgettext_lazy("Power state of an Instance", u"Blocked")), - ("PAUSED", pgettext_lazy("Power state of an Instance", u"Paused")), - ("SHUTDOWN", pgettext_lazy("Power state of an Instance", u"Shut Down")), - ("SHUTOFF", pgettext_lazy("Power state of an Instance", u"Shut Off")), - ("CRASHED", pgettext_lazy("Power state of an Instance", u"Crashed")), - ("SUSPENDED", pgettext_lazy("Power state of an Instance", u"Suspended")), - ("FAILED", pgettext_lazy("Power state of an Instance", u"Failed")), - ("BUILDING", pgettext_lazy("Power state of an Instance", u"Building")), + ("NO STATE", pgettext_lazy("Power state of an Instance", "No State")), + ("RUNNING", pgettext_lazy("Power state of an Instance", "Running")), + ("BLOCKED", pgettext_lazy("Power state of an Instance", "Blocked")), + ("PAUSED", pgettext_lazy("Power state of an Instance", "Paused")), + ("SHUTDOWN", pgettext_lazy("Power state of an Instance", "Shut Down")), + ("SHUTOFF", pgettext_lazy("Power state of an Instance", "Shut Off")), + ("CRASHED", pgettext_lazy("Power state of an Instance", "Crashed")), + ("SUSPENDED", pgettext_lazy("Power state of an Instance", "Suspended")), + ("FAILED", pgettext_lazy("Power state of an Instance", "Failed")), + ("BUILDING", pgettext_lazy("Power state of an Instance", "Building")), ) INSTANCE_FILTER_CHOICES = ( diff --git a/openstack_dashboard/dashboards/project/instances/tests.py b/openstack_dashboard/dashboards/project/instances/tests.py index dc5da67538..6ad04a529f 100644 --- a/openstack_dashboard/dashboards/project/instances/tests.py +++ b/openstack_dashboard/dashboards/project/instances/tests.py @@ -2523,8 +2523,8 @@ class InstanceLaunchInstanceTests(InstanceTestBase, nics=nics, availability_zone=avail_zone.zoneName, instance_count=helpers.IsA(int), - admin_pass=u'', - disk_config=u'AUTO', + admin_pass='', + disk_config='AUTO', config_drive=True, scheduler_hints=scheduler_hints) self.mock_tenant_quota_usages.assert_called_once_with( @@ -2556,13 +2556,13 @@ class InstanceLaunchInstanceTests(InstanceTestBase, sec_group = self.security_groups.first() avail_zone = self.availability_zones.first() customization_script = 'user data' - device_name = u'vda' + device_name = 'vda' volume_choice = "%s:vol" % volume.id volume_source_id = volume.id.split(':')[0] block_device_mapping = None block_device_mapping_2 = [ - {'device_name': u'vda', + {'device_name': 'vda', 'source_type': 'volume', 'destination_type': 'volume', 'delete_on_termination': False, @@ -2634,8 +2634,8 @@ class InstanceLaunchInstanceTests(InstanceTestBase, nics=nics, availability_zone=avail_zone.zoneName, instance_count=helpers.IsA(int), - admin_pass=u'', - disk_config=u'AUTO', + admin_pass='', + disk_config='AUTO', config_drive=True, scheduler_hints={}) self.mock_tenant_quota_usages.assert_called_once_with( @@ -2667,7 +2667,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, sec_group = self.security_groups.first() avail_zone = self.availability_zones.first() customization_script = 'user data' - device_name = u'vda' + device_name = 'vda' volume_choice = "%s:vol" % volume.id block_device_mapping = [ {'device_name': device_name, @@ -2749,7 +2749,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, nics=nics, availability_zone=avail_zone.zoneName, instance_count=helpers.IsA(int), - admin_pass=u'', + admin_pass='', disk_config='MANUAL', config_drive=True, scheduler_hints={}) @@ -2856,13 +2856,13 @@ class InstanceLaunchInstanceTests(InstanceTestBase, sec_group = self.security_groups.first() avail_zone = self.availability_zones.first() customization_script = 'user data' - device_name = u'vda' + device_name = 'vda' snapshot_choice = "%s:snap" % snapshot.id snapshot_source_id = snapshot.id.split(':')[0] block_device_mapping = None block_device_mapping_2 = [ - {'device_name': u'vda', + {'device_name': 'vda', 'source_type': 'snapshot', 'destination_type': 'volume', 'delete_on_termination': 0, @@ -2936,8 +2936,8 @@ class InstanceLaunchInstanceTests(InstanceTestBase, nics=nics, availability_zone=avail_zone.zoneName, instance_count=helpers.IsA(int), - admin_pass=u'', - disk_config=u'AUTO', + admin_pass='', + disk_config='AUTO', config_drive=True, scheduler_hints={}) self.mock_tenant_quota_usages.assert_called_once_with( @@ -3208,7 +3208,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, sec_group = self.security_groups.first() avail_zone = self.availability_zones.first() customization_script = 'user data' - device_name = u'vda' + device_name = 'vda' volume_choice = "%s:vol" % volume.id quota_usages = self.quota_usages.first() @@ -3287,7 +3287,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, sec_group = self.security_groups.first() avail_zone = self.availability_zones.first() customization_script = 'user data' - device_name = u'vda' + device_name = 'vda' volume_choice = "%s:vol" % volume.id quota_usages = self.quota_usages.first() if resource == 'both': @@ -3386,7 +3386,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, sec_group = self.security_groups.first() avail_zone = self.availability_zones.first() customization_script = 'user data' - device_name = u'vda' + device_name = 'vda' volume_choice = "%s:vol" % volume.id quota_usages = self.quota_usages.first() @@ -3630,7 +3630,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, OPENSTACK_HYPERVISOR_FEATURES={'can_set_mount_point': True},) def test_launch_form_instance_device_name_showed(self): self._test_launch_form_instance_show_device_name( - u'vda', widgets.TextInput, { + 'vda', widgets.TextInput, { 'name': 'device_name', 'value': 'vda', 'attrs': {'id': 'id_device_name'}} ) @@ -3639,7 +3639,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, OPENSTACK_HYPERVISOR_FEATURES={'can_set_mount_point': False}) def test_launch_form_instance_device_name_hidden(self): self._test_launch_form_instance_show_device_name( - u'', widgets.HiddenInput, { + '', widgets.HiddenInput, { 'name': 'device_name', 'value': '', 'attrs': {'id': 'id_device_name'}} ) @@ -3664,7 +3664,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, sec_group = self.security_groups.first() avail_zone = self.availability_zones.first() customization_script = 'user data' - device_name = u'vda' + device_name = 'vda' quota_usages = self.quota_usages.first() quota_usages['cores']['available'] = 2000 if avail_volumes is not None: @@ -3906,7 +3906,7 @@ class InstanceLaunchInstanceTests(InstanceTestBase, avail_zone = self.availability_zones.first() customization_script = 'user data' nics = [{'net-id': self.networks.first().id, 'v4-fixed-ip': ''}] - device_name = u'' + device_name = '' quota_usages = self.quota_usages.first() quota_usages['cores']['available'] = 2000 device_mapping_v2 = [{'device_name': None, # device_name must be None @@ -3980,9 +3980,9 @@ class InstanceLaunchInstanceTests(InstanceTestBase, nics=nics, availability_zone=avail_zone.zoneName, instance_count=helpers.IsA(int), - admin_pass=u'', + admin_pass='', config_drive=False, - disk_config=u'', + disk_config='', scheduler_hints={}) @@ -4261,7 +4261,7 @@ class InstanceTests2(InstanceTestBase, InstanceTableTestMixin): self.mock_server_group_list.return_value = self.server_groups.list() self.mock_server_resize.return_value = [] - res = self._instance_resize_post(server.id, flavor.id, u'AUTO') + res = self._instance_resize_post(server.id, flavor.id, 'AUTO') self.assertNoFormErrors(res) self.assertRedirectsNoFollow(res, INDEX_URL) @@ -4352,7 +4352,7 @@ class InstanceTests2(InstanceTestBase, InstanceTableTestMixin): def test_rebuild_instance_post_with_password(self): server = self.servers.first() image = self.images.first() - password = u'testpass' + password = 'testpass' self.mock_server_get.return_value = server self._mock_glance_image_list_detailed(self.images.list()) @@ -4406,8 +4406,8 @@ class InstanceTests2(InstanceTestBase, InstanceTableTestMixin): def test_rebuild_instance_post_password_do_not_match(self): server = self.servers.first() image = self.images.first() - pass1 = u'somepass' - pass2 = u'notsomepass' + pass1 = 'somepass' + pass2 = 'notsomepass' self.mock_server_get.return_value = server self._mock_glance_image_list_detailed(self.images.list()) @@ -4439,9 +4439,9 @@ class InstanceTests2(InstanceTestBase, InstanceTableTestMixin): self.mock_is_feature_available.return_value = False res = self._instance_rebuild_post(server.id, image.id, - password=u'', - confirm_password=u'', - disk_config=u'AUTO') + password='', + confirm_password='', + disk_config='AUTO') self.assertNoFormErrors(res) self.assertRedirectsNoFollow(res, INDEX_URL) @@ -4489,7 +4489,7 @@ class InstanceTests2(InstanceTestBase, InstanceTableTestMixin): def test_rebuild_instance_post_api_exception(self): server = self.servers.first() image = self.images.first() - password = u'testpass' + password = 'testpass' self.mock_server_get.return_value = server self._mock_glance_image_list_detailed(self.images.list()) @@ -4711,7 +4711,7 @@ class InstanceTests2(InstanceTestBase, InstanceTableTestMixin): def test_rescue_instance_post(self): server = self.servers.first() image = self.images.first() - password = u'testpass' + password = 'testpass' self._mock_glance_image_list_detailed(self.images.list()) self.mock_server_rescue.return_value = [] res = self._server_rescue_post(server.id, image.id, @@ -4839,10 +4839,10 @@ class InstanceAjaxTests(helpers.TestCase): messages = json.loads(res['X-Horizon-Messages']) self.assertEqual(len(messages), 1) # (Pdb) messages - # [[u'error', u'Failed to launch instance "server_1": \ + # [['error', 'Failed to launch instance "server_1": \ # There is not enough capacity for this flavor in the \ # selected availability zone. Try again later or select \ - # a different availability zone.', u'']] + # a different availability zone.', '']] self.assertEqual(messages[0][0], 'error') self.assertTrue(messages[0][1].startswith('Failed')) diff --git a/openstack_dashboard/dashboards/project/key_pairs/tables.py b/openstack_dashboard/dashboards/project/key_pairs/tables.py index 2d4f0bb372..86a71571a5 100644 --- a/openstack_dashboard/dashboards/project/key_pairs/tables.py +++ b/openstack_dashboard/dashboards/project/key_pairs/tables.py @@ -34,16 +34,16 @@ class DeleteKeyPairs(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Key Pair", - u"Delete Key Pairs", + "Delete Key Pair", + "Delete Key Pairs", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Key Pair", - u"Deleted Key Pairs", + "Deleted Key Pair", + "Deleted Key Pairs", count ) diff --git a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py index b305c89f49..6f0502cec9 100644 --- a/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py +++ b/openstack_dashboard/dashboards/project/networks/ports/extensions/allowed_address_pairs/tables.py @@ -56,16 +56,16 @@ class DeleteAllowedAddressPair(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete", - u"Delete", + "Delete", + "Delete", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted address pair", - u"Deleted address pairs", + "Deleted address pair", + "Deleted address pairs", count ) diff --git a/openstack_dashboard/dashboards/project/networks/ports/tables.py b/openstack_dashboard/dashboards/project/networks/ports/tables.py index 6120a9d628..f172f1c073 100644 --- a/openstack_dashboard/dashboards/project/networks/ports/tables.py +++ b/openstack_dashboard/dashboards/project/networks/ports/tables.py @@ -61,15 +61,15 @@ class UpdatePort(policy.PolicyTargetMixin, tables.LinkAction): DISPLAY_CHOICES = ( - ("UP", pgettext_lazy("Admin state of a Port", u"UP")), - ("DOWN", pgettext_lazy("Admin state of a Port", u"DOWN")), + ("UP", pgettext_lazy("Admin state of a Port", "UP")), + ("DOWN", pgettext_lazy("Admin state of a Port", "DOWN")), ) STATUS_DISPLAY_CHOICES = ( - ("ACTIVE", pgettext_lazy("status of a network port", u"Active")), - ("DOWN", pgettext_lazy("status of a network port", u"Down")), - ("ERROR", pgettext_lazy("status of a network port", u"Error")), - ("BUILD", pgettext_lazy("status of a network port", u"Build")), + ("ACTIVE", pgettext_lazy("status of a network port", "Active")), + ("DOWN", pgettext_lazy("status of a network port", "Down")), + ("ERROR", pgettext_lazy("status of a network port", "Error")), + ("BUILD", pgettext_lazy("status of a network port", "Build")), ) @@ -107,16 +107,16 @@ class DeletePort(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Port", - u"Delete Ports", + "Delete Port", + "Delete Ports", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Port", - u"Deleted Ports", + "Deleted Port", + "Deleted Ports", count ) diff --git a/openstack_dashboard/dashboards/project/networks/subnets/tables.py b/openstack_dashboard/dashboards/project/networks/subnets/tables.py index 3a6769eca1..d0be381419 100644 --- a/openstack_dashboard/dashboards/project/networks/subnets/tables.py +++ b/openstack_dashboard/dashboards/project/networks/subnets/tables.py @@ -60,16 +60,16 @@ class DeleteSubnet(SubnetPolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Subnet", - u"Delete Subnets", + "Delete Subnet", + "Delete Subnets", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Subnet", - u"Deleted Subnets", + "Deleted Subnet", + "Deleted Subnets", count ) diff --git a/openstack_dashboard/dashboards/project/networks/tables.py b/openstack_dashboard/dashboards/project/networks/tables.py index a98cb1633a..cdf63e8a4f 100644 --- a/openstack_dashboard/dashboards/project/networks/tables.py +++ b/openstack_dashboard/dashboards/project/networks/tables.py @@ -39,16 +39,16 @@ class DeleteNetwork(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Network", - u"Delete Networks", + "Delete Network", + "Delete Networks", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Network", - u"Deleted Networks", + "Deleted Network", + "Deleted Networks", count ) @@ -157,14 +157,14 @@ def get_network_link(network): DISPLAY_CHOICES = ( - ("up", pgettext_lazy("Admin state of a Network", u"UP")), - ("down", pgettext_lazy("Admin state of a Network", u"DOWN")), + ("up", pgettext_lazy("Admin state of a Network", "UP")), + ("down", pgettext_lazy("Admin state of a Network", "DOWN")), ) STATUS_DISPLAY_CHOICES = ( - ("active", pgettext_lazy("Current status of a Network", u"Active")), - ("build", pgettext_lazy("Current status of a Network", u"Build")), - ("down", pgettext_lazy("Current status of a Network", u"Down")), - ("error", pgettext_lazy("Current status of a Network", u"Error")), + ("active", pgettext_lazy("Current status of a Network", "Active")), + ("build", pgettext_lazy("Current status of a Network", "Build")), + ("down", pgettext_lazy("Current status of a Network", "Down")), + ("error", pgettext_lazy("Current status of a Network", "Error")), ) diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py index 9dff61dfef..77d32aed0d 100644 --- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py +++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/tables.py @@ -40,16 +40,16 @@ class RemoveRouterRoute(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Static Route", - u"Delete Static Routes", + "Delete Static Route", + "Delete Static Routes", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Static Route", - u"Deleted Static Routes", + "Deleted Static Route", + "Deleted Static Routes", count ) failure_url = 'horizon:project:routers:detail' diff --git a/openstack_dashboard/dashboards/project/routers/ports/tables.py b/openstack_dashboard/dashboards/project/routers/ports/tables.py index 744c039d74..d07bf79768 100644 --- a/openstack_dashboard/dashboards/project/routers/ports/tables.py +++ b/openstack_dashboard/dashboards/project/routers/ports/tables.py @@ -53,16 +53,16 @@ class RemoveInterface(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Interface", - u"Delete Interfaces", + "Delete Interface", + "Delete Interfaces", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Interface", - u"Deleted Interfaces", + "Deleted Interface", + "Deleted Interfaces", count ) @@ -95,15 +95,15 @@ class RemoveInterface(policy.PolicyTargetMixin, tables.DeleteAction): DISPLAY_CHOICES = ( - ("UP", pgettext_lazy("Admin state of a Port", u"UP")), - ("DOWN", pgettext_lazy("Admin state of a Port", u"DOWN")), + ("UP", pgettext_lazy("Admin state of a Port", "UP")), + ("DOWN", pgettext_lazy("Admin state of a Port", "DOWN")), ) STATUS_DISPLAY_CHOICES = ( - ("ACTIVE", pgettext_lazy("current status of port", u"Active")), - ("BUILD", pgettext_lazy("current status of port", u"Build")), - ("DOWN", pgettext_lazy("current status of port", u"Down")), - ("ERROR", pgettext_lazy("current status of port", u"Error")), - ("N/A", pgettext_lazy("current status of port", u"N/A")), + ("ACTIVE", pgettext_lazy("current status of port", "Active")), + ("BUILD", pgettext_lazy("current status of port", "Build")), + ("DOWN", pgettext_lazy("current status of port", "Down")), + ("ERROR", pgettext_lazy("current status of port", "Error")), + ("N/A", pgettext_lazy("current status of port", "N/A")), ) diff --git a/openstack_dashboard/dashboards/project/routers/tables.py b/openstack_dashboard/dashboards/project/routers/tables.py index 5a9631550c..32631b5c1d 100644 --- a/openstack_dashboard/dashboards/project/routers/tables.py +++ b/openstack_dashboard/dashboards/project/routers/tables.py @@ -37,16 +37,16 @@ class DeleteRouter(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Router", - u"Delete Routers", + "Delete Router", + "Delete Routers", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Router", - u"Deleted Routers", + "Deleted Router", + "Deleted Routers", count ) @@ -128,16 +128,16 @@ class ClearGateway(policy.PolicyTargetMixin, tables.BatchAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Clear Gateway", - u"Clear Gateways", + "Clear Gateway", + "Clear Gateways", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Cleared Gateway", - u"Cleared Gateways", + "Cleared Gateway", + "Cleared Gateways", count ) @@ -202,12 +202,12 @@ class RoutersFilterAction(tables.FilterAction): STATUS_DISPLAY_CHOICES = ( - ("active", pgettext_lazy("current status of router", u"Active")), - ("error", pgettext_lazy("current status of router", u"Error")), + ("active", pgettext_lazy("current status of router", "Active")), + ("error", pgettext_lazy("current status of router", "Error")), ) ADMIN_STATE_DISPLAY_CHOICES = ( - ("up", pgettext_lazy("Admin state of a Router", u"UP")), - ("down", pgettext_lazy("Admin state of a Router", u"DOWN")), + ("up", pgettext_lazy("Admin state of a Router", "UP")), + ("down", pgettext_lazy("Admin state of a Router", "DOWN")), ) diff --git a/openstack_dashboard/dashboards/project/routers/views.py b/openstack_dashboard/dashboards/project/routers/views.py index 614211ac34..946ea37744 100644 --- a/openstack_dashboard/dashboards/project/routers/views.py +++ b/openstack_dashboard/dashboards/project/routers/views.py @@ -98,7 +98,7 @@ class IndexView(tables.DataTableView): # Translators: The usage is " (Not Found)" gateway_info['network'] = pgettext_lazy( 'External network not found', - u'%s (Not Found)') % ext_net_id + '%s (Not Found)') % ext_net_id class DetailView(tabs.TabbedTableView): diff --git a/openstack_dashboard/dashboards/project/security_groups/tables.py b/openstack_dashboard/dashboards/project/security_groups/tables.py index f8c3a8aedc..7064571da2 100644 --- a/openstack_dashboard/dashboards/project/security_groups/tables.py +++ b/openstack_dashboard/dashboards/project/security_groups/tables.py @@ -36,16 +36,16 @@ class DeleteGroup(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Security Group", - u"Delete Security Groups", + "Delete Security Group", + "Delete Security Groups", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Security Group", - u"Deleted Security Groups", + "Deleted Security Group", + "Deleted Security Groups", count ) @@ -152,16 +152,16 @@ class DeleteRule(tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Rule", - u"Delete Rules", + "Delete Rule", + "Delete Rules", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Deleted Rule", - u"Deleted Rules", + "Deleted Rule", + "Deleted Rules", count ) @@ -195,7 +195,7 @@ def get_port_range(rule): ip_proto = rule.ip_protocol if rule.from_port == rule.to_port: return check_rule_template(rule.from_port, ip_proto) - return (u"%(from)s - %(to)s" % + return ("%(from)s - %(to)s" % {'from': check_rule_template(rule.from_port, ip_proto), 'to': check_rule_template(rule.to_port, ip_proto)}) @@ -221,7 +221,7 @@ def check_rule_template(port, ip_proto): str(port) == rule['to_port'] and ip_proto == rule['ip_protocol'])] if templ_rule: - return u"%(from_port)s (%(name)s)" % templ_rule[0] + return "%(from_port)s (%(name)s)" % templ_rule[0] return port diff --git a/openstack_dashboard/dashboards/project/security_groups/tests.py b/openstack_dashboard/dashboards/project/security_groups/tests.py index 90694d0eda..8ab3c3d135 100644 --- a/openstack_dashboard/dashboards/project/security_groups/tests.py +++ b/openstack_dashboard/dashboards/project/security_groups/tests.py @@ -189,7 +189,7 @@ class SecurityGroupsViewTests(test.TestCase): kwargs.get('from_port', int(rule.from_port)), kwargs.get('to_port', int(rule.to_port)), kwargs.get('cidr', rule.ip_range['cidr']), - kwargs.get('security_group', u'%s' % sec_group.id), + kwargs.get('security_group', '%s' % sec_group.id), **extra_params) self.mock_security_group_list.assert_called_once_with( test.IsHttpRequest()) @@ -510,7 +510,7 @@ class SecurityGroupsViewTests(test.TestCase): int(rule.from_port), int(rule.to_port), None, - u'%s' % sec_group.id, + '%s' % sec_group.id, description='') self.mock_security_group_list.assert_called_once_with( test.IsHttpRequest()) @@ -549,7 +549,7 @@ class SecurityGroupsViewTests(test.TestCase): int(rule.from_port), int(rule.to_port), None, - u'%s' % sec_group.id, + '%s' % sec_group.id, description='') self.mock_security_group_list.assert_called_once_with( test.IsHttpRequest()) @@ -971,7 +971,7 @@ class SecurityGroupsViewTests(test.TestCase): int(rule.from_port), int(rule.to_port), None, - u'%s' % sec_group.id, + '%s' % sec_group.id, description='') self.mock_security_group_list.assert_called_once_with( test.IsHttpRequest()) diff --git a/openstack_dashboard/dashboards/project/snapshots/tables.py b/openstack_dashboard/dashboards/project/snapshots/tables.py index d841d31967..9fd925954e 100644 --- a/openstack_dashboard/dashboards/project/snapshots/tables.py +++ b/openstack_dashboard/dashboards/project/snapshots/tables.py @@ -76,16 +76,16 @@ class DeleteVolumeSnapshot(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Volume Snapshot", - u"Delete Volume Snapshots", + "Delete Volume Snapshot", + "Delete Volume Snapshots", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Scheduled deletion of Volume Snapshot", - u"Scheduled deletion of Volume Snapshots", + "Scheduled deletion of Volume Snapshot", + "Scheduled deletion of Volume Snapshots", count ) diff --git a/openstack_dashboard/dashboards/project/vg_snapshots/tables.py b/openstack_dashboard/dashboards/project/vg_snapshots/tables.py index 82767bb613..25923d7c51 100644 --- a/openstack_dashboard/dashboards/project/vg_snapshots/tables.py +++ b/openstack_dashboard/dashboards/project/vg_snapshots/tables.py @@ -37,16 +37,16 @@ class DeleteGroupSnapshot(policy.PolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Snapshot", - u"Delete Snapshots", + "Delete Snapshot", + "Delete Snapshots", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Scheduled deletion of Snapshot", - u"Scheduled deletion of Snapshots", + "Scheduled deletion of Snapshot", + "Scheduled deletion of Snapshots", count ) @@ -99,13 +99,13 @@ class GroupSnapshotsTable(tables.DataTable): STATUS_DISPLAY_CHOICES = ( ("available", pgettext_lazy("Current status of Volume Group Snapshot", - u"Available")), + "Available")), ("in-use", pgettext_lazy("Current status of Volume Group Snapshot", - u"In-use")), + "In-use")), ("error", pgettext_lazy("Current status of Volume Group Snapshot", - u"Error")), + "Error")), ) name = tables.Column("name_or_id", diff --git a/openstack_dashboard/dashboards/project/volume_groups/tables.py b/openstack_dashboard/dashboards/project/volume_groups/tables.py index 69b1ebe0e8..7cfbf94fd4 100644 --- a/openstack_dashboard/dashboards/project/volume_groups/tables.py +++ b/openstack_dashboard/dashboards/project/volume_groups/tables.py @@ -139,15 +139,15 @@ class GroupsTable(tables.DataTable): ) STATUS_DISPLAY_CHOICES = ( ("available", - pgettext_lazy("Current status of Volume Group", u"Available")), + pgettext_lazy("Current status of Volume Group", "Available")), ("in-use", - pgettext_lazy("Current status of Volume Group", u"In-use")), + pgettext_lazy("Current status of Volume Group", "In-use")), ("error", - pgettext_lazy("Current status of Volume Group", u"Error")), + pgettext_lazy("Current status of Volume Group", "Error")), ("updating", - pgettext_lazy("Current status of Volume Group", u"Updating")), + pgettext_lazy("Current status of Volume Group", "Updating")), ("deleting", - pgettext_lazy("Current status of Volume Group", u"Deleting")), + pgettext_lazy("Current status of Volume Group", "Deleting")), ) name = tables.WrappingColumn("name_or_id", diff --git a/openstack_dashboard/dashboards/project/volumes/forms.py b/openstack_dashboard/dashboards/project/volumes/forms.py index 6a0cbdb9e9..3622201e9c 100644 --- a/openstack_dashboard/dashboards/project/volumes/forms.py +++ b/openstack_dashboard/dashboards/project/volumes/forms.py @@ -706,7 +706,7 @@ class UploadToImageForm(forms.SelfHandlingForm): required=False) force = forms.BooleanField( label=pgettext_lazy("Force upload volume in in-use status to image", - u"Force"), + "Force"), widget=forms.CheckboxInput(), required=False) diff --git a/openstack_dashboard/dashboards/project/volumes/tables.py b/openstack_dashboard/dashboards/project/volumes/tables.py index 01e7c03f20..6db77eefef 100644 --- a/openstack_dashboard/dashboards/project/volumes/tables.py +++ b/openstack_dashboard/dashboards/project/volumes/tables.py @@ -98,16 +98,16 @@ class DeleteVolume(VolumePolicyTargetMixin, tables.DeleteAction): @staticmethod def action_present(count): return ungettext_lazy( - u"Delete Volume", - u"Delete Volumes", + "Delete Volume", + "Delete Volumes", count ) @staticmethod def action_past(count): return ungettext_lazy( - u"Scheduled deletion of Volume", - u"Scheduled deletion of Volumes", + "Scheduled deletion of Volume", + "Scheduled deletion of Volumes", count ) @@ -467,35 +467,35 @@ class VolumesTableBase(tables.DataTable): ) STATUS_DISPLAY_CHOICES = ( ("available", pgettext_lazy("Current status of a Volume", - u"Available")), - ("in-use", pgettext_lazy("Current status of a Volume", u"In-use")), - ("error", pgettext_lazy("Current status of a Volume", u"Error")), + "Available")), + ("in-use", pgettext_lazy("Current status of a Volume", "In-use")), + ("error", pgettext_lazy("Current status of a Volume", "Error")), ("creating", pgettext_lazy("Current status of a Volume", - u"Creating")), + "Creating")), ("error_extending", pgettext_lazy("Current status of a Volume", - u"Error Extending")), + "Error Extending")), ("extending", pgettext_lazy("Current status of a Volume", - u"Extending")), + "Extending")), ("attaching", pgettext_lazy("Current status of a Volume", - u"Attaching")), + "Attaching")), ("detaching", pgettext_lazy("Current status of a Volume", - u"Detaching")), + "Detaching")), ("deleting", pgettext_lazy("Current status of a Volume", - u"Deleting")), + "Deleting")), ("error_deleting", pgettext_lazy("Current status of a Volume", - u"Error deleting")), + "Error deleting")), ("backing-up", pgettext_lazy("Current status of a Volume", - u"Backing Up")), + "Backing Up")), ("restoring-backup", pgettext_lazy("Current status of a Volume", - u"Restoring Backup")), + "Restoring Backup")), ("error_restoring", pgettext_lazy("Current status of a Volume", - u"Error Restoring")), + "Error Restoring")), ("maintenance", pgettext_lazy("Current status of a Volume", - u"Maintenance")), + "Maintenance")), ("reserved", pgettext_lazy("Current status of a Volume", - u"Reserved")), + "Reserved")), ("awaiting-transfer", pgettext_lazy("Current status of a Volume", - u"Awaiting Transfer")), + "Awaiting Transfer")), ) name = tables.Column("name", verbose_name=_("Name"), @@ -598,8 +598,8 @@ class DetachVolume(tables.BatchAction): def action_present(count): return npgettext_lazy( "Action to perform (the volume is currently attached)", - u"Detach Volume", - u"Detach Volumes", + "Detach Volume", + "Detach Volumes", count ) @@ -608,8 +608,8 @@ class DetachVolume(tables.BatchAction): def action_past(count): return npgettext_lazy( "Past action (the volume is currently being detached)", - u"Detaching Volume", - u"Detaching Volumes", + "Detaching Volume", + "Detaching Volumes", count ) diff --git a/openstack_dashboard/dashboards/project/volumes/tests.py b/openstack_dashboard/dashboards/project/volumes/tests.py index ce98a71814..896a4a9d21 100644 --- a/openstack_dashboard/dashboards/project/volumes/tests.py +++ b/openstack_dashboard/dashboards/project/volumes/tests.py @@ -229,9 +229,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): volume = self.cinder_volumes.first() volume_type = self.cinder_volume_types.first() az = self.cinder_availability_zones.first().zoneName - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'type': volume_type.name, 'size': 50, 'snapshot_source': '', @@ -299,8 +299,8 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): volume_type = self.cinder_volume_types.first() az = self.cinder_availability_zones.first().zoneName formData = {'name': '', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'type': volume_type.name, 'size': 50, 'snapshot_source': '', @@ -362,9 +362,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): }) def test_create_volume_dropdown(self): volume = self.cinder_volumes.first() - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 50, 'type': '', 'volume_source_type': 'no_source_type', @@ -428,9 +428,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): def test_create_volume_from_snapshot(self): volume = self.cinder_volumes.first() snapshot = self.cinder_volume_snapshots.first() - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 50, 'type': '', 'snapshot_source': snapshot.id} @@ -486,9 +486,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): def test_create_volume_from_volume(self): volume = self.cinder_volumes.first() - formData = {'name': u'A copy of a volume', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A copy of a volume', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 50, 'type': '', 'volume_source_type': 'volume_source', @@ -559,9 +559,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): def test_create_volume_from_snapshot_dropdown(self): volume = self.cinder_volumes.first() snapshot = self.cinder_volume_snapshots.first() - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 50, 'type': '', 'volume_source_type': 'snapshot_source', @@ -625,9 +625,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): }) def test_create_volume_from_snapshot_invalid_size(self): snapshot = self.cinder_volume_snapshots.first() - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 20, 'snapshot_source': snapshot.id} self.mock_volume_type_list.return_value = \ @@ -670,9 +670,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): def test_create_volume_from_image(self): volume = self.cinder_volumes.first() image = self.images.first() - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 40, 'type': '', 'image_source': image.id} @@ -730,9 +730,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): def test_create_volume_from_image_dropdown(self): volume = self.cinder_volumes.first() image = self.images.first() - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 30, 'type': '', 'volume_source_type': 'image_source', @@ -798,9 +798,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): }) def test_create_volume_from_image_under_image_size(self): image = self.images.first() - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 1, 'image_source': image.id} self.mock_volume_type_list.return_value = \ @@ -819,8 +819,8 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): formData, follow=True) self.assertEqual(res.redirect_chain, []) - msg = (u"The volume size cannot be less than the " - u"image size (20.0\xa0GB)") + msg = ("The volume size cannot be less than the " + "image size (20.0\xa0GB)") self.assertFormError(res, 'form', None, msg) @@ -844,9 +844,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): 'group_list'], }) def _test_create_volume_from_image_under_image_min_disk_size(self, image): - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'size': 5, 'image_source': image.id} self.mock_volume_type_list.return_value = \ @@ -900,9 +900,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): 'group_list'], }) def test_create_volume_gb_used_over_alloted_quota(self): - formData = {'name': u'This Volume Is Huge!', - 'description': u'This is a volume that is just too big!', - 'method': u'CreateForm', + formData = {'name': 'This Volume Is Huge!', + 'description': 'This is a volume that is just too big!', + 'method': 'CreateForm', 'size': 5000} usage_limit = self.cinder_quota_usages.first() @@ -929,7 +929,7 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): url = reverse('horizon:project:volumes:create') res = self.client.post(url, formData) - expected_error = [u'A volume of 5000GiB cannot be created as you only' + expected_error = ['A volume of 5000GiB cannot be created as you only' ' have 20GiB of your quota available.'] self.assertEqual(res.context['form'].errors['__all__'], expected_error) @@ -960,9 +960,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): 'group_list'], }) def test_create_volume_number_over_alloted_quota(self): - formData = {'name': u'Too Many...', - 'description': u'We have no volumes left!', - 'method': u'CreateForm', + formData = {'name': 'Too Many...', + 'description': 'We have no volumes left!', + 'method': 'CreateForm', 'size': 10} usage_limit = self.cinder_quota_usages.first() @@ -990,7 +990,7 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): url = reverse('horizon:project:volumes:create') res = self.client.post(url, formData) - expected_error = [u'You are already using all of your available' + expected_error = ['You are already using all of your available' ' volumes.'] self.assertEqual(res.context['form'].errors['__all__'], expected_error) @@ -1022,9 +1022,9 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): volume_type = self.cinder_volume_types.first() az = self.cinder_availability_zones.first().zoneName volume_group = self.cinder_groups.list()[0] - formData = {'name': u'A Volume I Am Making', - 'description': u'This is a volume I am making for a test.', - 'method': u'CreateForm', + formData = {'name': 'A Volume I Am Making', + 'description': 'This is a volume I am making for a test.', + 'method': 'CreateForm', 'type': volume_type.name, 'size': 50, 'snapshot_source': '', @@ -1736,7 +1736,7 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): @mock.patch.object(cinder, 'volume_get') def test_extend_volume(self, mock_get, mock_extend, mock_quotas): volume = self.cinder_volumes.first() - formData = {'name': u'A Volume I Am Making', + formData = {'name': 'A Volume I Am Making', 'orig_size': volume.size, 'new_size': 120} @@ -1760,7 +1760,7 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): @mock.patch.object(cinder, 'volume_get') def test_extend_volume_with_wrong_size(self, mock_get, mock_quotas): volume = self.cinder_volumes.first() - formData = {'name': u'A Volume I Am Making', + formData = {'name': 'A Volume I Am Making', 'orig_size': volume.size, 'new_size': 10} @@ -1895,7 +1895,7 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): usage_limit.tally('gigabytes', 20) usage_limit.tally('volumes', len(self.cinder_volumes.list())) - formData = {'name': u'A Volume I Am Making', + formData = {'name': 'A Volume I Am Making', 'orig_size': volume.size, 'new_size': 1000} @@ -1957,7 +1957,7 @@ class VolumeViewTests(test.ResetImageAPIVersionMixin, test.TestCase): volumes = self.cinder_volumes.list() volToTransfer = [v for v in volumes if v.status == 'available'][0] formData = {'volume_id': volToTransfer.id, - 'name': u'any transfer name'} + 'name': 'any transfer name'} transfer = self.cinder_volume_transfers.first() mock_transfer_create.return_value = transfer diff --git a/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po b/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po index 59c63b1054..74710b2fdb 100644 --- a/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po +++ b/openstack_dashboard/locale/tr_TR/LC_MESSAGES/django.po @@ -7612,7 +7612,7 @@ msgid "up" msgstr "up" msgid "vCPUs =" -msgstr "vCPU'lar =" +msgstr "vCP'lar =" msgid "yes" msgstr "evet" diff --git a/openstack_dashboard/management/commands/update_catalog.py b/openstack_dashboard/management/commands/update_catalog.py index 94a11c2b1c..fbb38f47be 100644 --- a/openstack_dashboard/management/commands/update_catalog.py +++ b/openstack_dashboard/management/commands/update_catalog.py @@ -33,12 +33,12 @@ MODULES = ['openstack_dashboard', 'horizon'] def translate(segment): - prefix = u"" + prefix = "" # When the id starts with a newline the mo compiler enforces that # the translated message must also start with a newline. Make # sure that doesn't get broken when prepending the bracket. if segment.startswith('\n'): - prefix = u"\n" + prefix = "\n" orig_size = len(segment) # Add extra expansion space based on recommendation from # http://www-01.ibm.com/software/globalization/guidelines/a3.html @@ -54,7 +54,7 @@ def translate(segment): multiplier = 0.3 extra_length = int(max(0, (orig_size * multiplier) - 10)) extra_chars = "~" * extra_length - return u"{0}[~{1}~您好яшçあ{2}]".format(prefix, segment, extra_chars) + return "{0}[~{1}~您好яшçあ{2}]".format(prefix, segment, extra_chars) class Command(BaseCommand): @@ -121,7 +121,7 @@ class Command(BaseCommand): for msg in pot_cat: if msg.pluralizable: msg.string = [ - translate(u"{}:{}".format(i, msg.id[0])) + translate("{}:{}".format(i, msg.id[0])) for i in range(num_plurals)] else: msg.string = translate(msg.id) diff --git a/openstack_dashboard/management/commands/upgrade_check.py b/openstack_dashboard/management/commands/upgrade_check.py index d1af7b70c3..c3c6697204 100644 --- a/openstack_dashboard/management/commands/upgrade_check.py +++ b/openstack_dashboard/management/commands/upgrade_check.py @@ -156,7 +156,7 @@ def check_invalid_settings(dummy=None): if invalid: return upgradecheck.Result( upgradecheck.Code.WARNING, - _("Unknown settings: {}.").format(u", ".join(invalid)), + _("Unknown settings: {}.").format(", ".join(invalid)), ) return upgradecheck.Result(upgradecheck.Code.SUCCESS) @@ -173,7 +173,7 @@ def check_deprecated_settings(dummy=None): if deprecated: return upgradecheck.Result( upgradecheck.Code.FAILURE, - _("Deprecated settings: {}.").format(u", ".join(deprecated)), + _("Deprecated settings: {}.").format(", ".join(deprecated)), ) return upgradecheck.Result(upgradecheck.Code.SUCCESS) @@ -193,7 +193,7 @@ def check_required_settings(dummy=None): if missing: return upgradecheck.Result( upgradecheck.Code.FAILURE, - _("Missing required settings: {}.").format(u", ".join(missing)), + _("Missing required settings: {}.").format(", ".join(missing)), ) return upgradecheck.Result(upgradecheck.Code.SUCCESS) diff --git a/openstack_dashboard/test/integration_tests/tests/test_volumes.py b/openstack_dashboard/test/integration_tests/tests/test_volumes.py index 8353de4ddc..95108134bc 100644 --- a/openstack_dashboard/test/integration_tests/tests/test_volumes.py +++ b/openstack_dashboard/test/integration_tests/tests/test_volumes.py @@ -300,8 +300,8 @@ class TestVolumesActions(helpers.TestCase): 5. Repeat actions for all disk formats """ self.volumes_page = self.home_pg.go_to_project_volumes_volumespage() - all_formats = {"qcow2": u'QCOW2', "raw": u'Raw', "vdi": u'VDI', - "vmdk": u'VMDK'} + all_formats = {"qcow2": 'QCOW2', "raw": 'Raw', "vdi": 'VDI', + "vmdk": 'VMDK'} for disk_format in all_formats: self.volumes_page.upload_volume_to_image(self.VOLUME_NAME, self.IMAGE_NAME, diff --git a/openstack_dashboard/test/test_data/cinder_data.py b/openstack_dashboard/test/test_data/cinder_data.py index a08273b668..e829cbbd23 100644 --- a/openstack_dashboard/test/test_data/cinder_data.py +++ b/openstack_dashboard/test/test_data/cinder_data.py @@ -115,7 +115,7 @@ def data(TEST): {'id': "21023e92-8008-1234-8059-7f2293ff3889", 'status': 'in-use', 'size': 10, - 'name': u'my_volume', + 'name': 'my_volume', 'display_description': '', 'created_at': '2013-04-01 10:30:00', 'volume_type': None, @@ -129,7 +129,7 @@ def data(TEST): 'name': 'my_volume2', 'status': 'in-use', 'size': 10, - 'name': u'my_volume2', + 'name': 'my_volume2', 'display_description': '', 'created_at': '2013-04-01 10:30:00', 'volume_type': 'vol_type_2', @@ -142,7 +142,7 @@ def data(TEST): {'id': "21023e92-8008-1234-8059-7f2293ff3890", 'status': 'in-use', 'size': 10, - 'name': u'my_volume', + 'name': 'my_volume', 'display_description': '', 'created_at': '2013-04-01 10:30:00', 'volume_type': None, @@ -164,26 +164,26 @@ def data(TEST): vol_type1 = volume_types.VolumeType( volume_types.VolumeTypeManager(None), - {'id': u'1', - 'name': u'vol_type_1', + {'id': '1', + 'name': 'vol_type_1', 'description': 'type 1 description', 'extra_specs': {'foo': 'bar', 'volume_backend_name': 'backend_1'}}) vol_type2 = volume_types.VolumeType( volume_types.VolumeTypeManager(None), - {'id': u'2', - 'name': u'vol_type_2', + {'id': '2', + 'name': 'vol_type_2', 'description': 'type 2 description'}) vol_type3 = volume_types.VolumeType( volume_types.VolumeTypeManager(None), - {'id': u'3', - 'name': u'vol_type_3', + {'id': '3', + 'name': 'vol_type_3', 'is_public': False, 'description': 'type 3 description'}) TEST.cinder_volume_types.add(vol_type1, vol_type2, vol_type3) vol_type_access1 = volume_type_access.VolumeTypeAccess( volume_type_access.VolumeTypeAccessManager(None), - {'volume_type_id': u'1', 'project_id': u'1'}) + {'volume_type_id': '1', 'project_id': '1'}) TEST.cinder_type_access.add(vol_type_access1) # Volumes - Cinder v2 @@ -253,14 +253,14 @@ def data(TEST): # Volume Type Encryption vol_enc_type1 = vol_enc_types.VolumeEncryptionType( vol_enc_types.VolumeEncryptionTypeManager(None), - {'volume_type_id': u'1', + {'volume_type_id': '1', 'control_location': "front-end", 'key_size': 512, 'provider': "a-provider", 'cipher': "a-cipher"}) vol_enc_type2 = vol_enc_types.VolumeEncryptionType( vol_enc_types.VolumeEncryptionTypeManager(None), - {'volume_type_id': u'2', + {'volume_type_id': '2', 'control_location': "front-end", 'key_size': 256, 'provider': "a-provider", diff --git a/openstack_dashboard/test/test_data/glance_data.py b/openstack_dashboard/test/test_data/glance_data.py index 02713ff192..f6d46248e4 100644 --- a/openstack_dashboard/test/test_data/glance_data.py +++ b/openstack_dashboard/test/test_data/glance_data.py @@ -57,32 +57,32 @@ def data(TEST): TEST.snapshotsV2 = utils.TestDataContainer() # Snapshots - snapshot_dict = {'name': u'snapshot', - 'container_format': u'ami', + snapshot_dict = {'name': 'snapshot', + 'container_format': 'ami', 'id': 3, 'status': "active", 'owner': TEST.tenant.id, - 'properties': {'image_type': u'snapshot'}, + 'properties': {'image_type': 'snapshot'}, 'is_public': False, 'protected': False} - snapshot_dict_no_owner = {'name': u'snapshot 2', - 'container_format': u'ami', + snapshot_dict_no_owner = {'name': 'snapshot 2', + 'container_format': 'ami', 'id': 4, 'status': "active", 'owner': None, - 'properties': {'image_type': u'snapshot'}, + 'properties': {'image_type': 'snapshot'}, 'is_public': False, 'protected': False} - snapshot_dict_queued = {'name': u'snapshot 2', - 'container_format': u'ami', + snapshot_dict_queued = {'name': 'snapshot 2', + 'container_format': 'ami', 'id': 5, 'status': "queued", 'owner': TEST.tenant.id, - 'properties': {'image_type': u'snapshot'}, + 'properties': {'image_type': 'snapshot'}, 'is_public': False, 'protected': False} - snapshot_dict_with_volume = {'name': u'snapshot 2', - 'container_format': u'ami', + snapshot_dict_with_volume = {'name': 'snapshot 2', + 'container_format': 'ami', 'id': 6, 'status': "queued", 'owner': TEST.tenant.id, @@ -104,14 +104,14 @@ def data(TEST): # Images image_dict = {'id': '007e7d55-fe1e-4c5c-bf08-44b4a4964822', 'name': 'public_image', - 'disk_format': u'qcow2', + 'disk_format': 'qcow2', 'status': "active", 'size': 20 * 1024 ** 3, 'virtual_size': None, 'min_disk': 0, 'owner': TEST.tenant.id, 'container_format': 'novaImage', - 'properties': {'image_type': u'image'}, + 'properties': {'image_type': 'image'}, 'is_public': True, 'protected': False, 'min_ram': 0, @@ -140,7 +140,7 @@ def data(TEST): 'virtual_size': None, 'min_disk': 30, 'container_format': 'novaImage', - 'properties': {'image_type': u'image'}, + 'properties': {'image_type': 'image'}, 'is_public': True, 'protected': True, 'min_ram': 0, @@ -155,7 +155,7 @@ def data(TEST): 'min_disk': 0, 'owner': TEST.tenant.id, 'container_format': 'novaImage', - 'properties': {'image_type': u'image'}, + 'properties': {'image_type': 'image'}, 'is_public': True, 'protected': False, 'min_ram': 0} @@ -240,9 +240,9 @@ def data(TEST): 'min_disk': 0, 'owner': TEST.tenant.id, 'container_format': 'novaImage', - 'properties': {'description': u'a multi prop image', - 'foo': u'foo val', - 'bar': u'bar val'}, + 'properties': {'description': 'a multi prop image', + 'foo': 'foo val', + 'bar': 'bar val'}, 'is_public': True, 'protected': False} multi_prop_image = APIResourceV2(image_dict) @@ -283,7 +283,7 @@ def data(TEST): 'created_at': '2014-02-14T20:56:53', 'direct_url': 'swift+config://ref1/glance/' 'da8500d5-8b80-4b9c-8410-cc57fb8fb9d5', - 'disk_format': u'qcow2', + 'disk_format': 'qcow2', 'file': '/v2/images/' 'da8500d5-8b80-4b9c-8410-cc57fb8fb9d5/file', 'id': '007e7d55-fe1e-4c5c-bf08-44b4a4964822', @@ -294,7 +294,7 @@ def data(TEST): 'da8500d5-8b80-4b9c-8410-cc57fb8fb9d5'}], 'min_ram': 0, 'name': 'public_image', - 'image_type': u'image', + 'image_type': 'image', 'min_disk': 0, 'owner': TEST.tenant.id, 'protected': False, @@ -310,7 +310,7 @@ def data(TEST): 'container_format': 'novaImage', 'created_at': '2014-03-16T06:22:14', 'disk_format': None, - 'image_type': u'image', + 'image_type': 'image', 'file': '/v2/images/885d1cb0-9f5c-4677-9d03-175be7f9f984/file', 'id': 'd6936c86-7fec-474a-85c5-5e467b371c3c', 'locations': [], @@ -344,9 +344,9 @@ def data(TEST): 'updated_at': '2015-09-02T00:31:17Z', 'virtual_size': None, 'visibility': 'public', - 'description': u'a multi prop image', - 'foo': u'foo val', - 'bar': u'bar val' + 'description': 'a multi prop image', + 'foo': 'foo val', + 'bar': 'bar val' }] for fixture in image_v2_dicts: apiresource = APIResourceV2(fixture) diff --git a/openstack_dashboard/test/test_data/keystone_data.py b/openstack_dashboard/test/test_data/keystone_data.py index e54fabbae2..b98e3bbdbd 100644 --- a/openstack_dashboard/test/test_data/keystone_data.py +++ b/openstack_dashboard/test/test_data/keystone_data.py @@ -405,7 +405,7 @@ def data(TEST): 'domain_id': '2', 'domain_name': 'disabled_domain'} tenant_dict_3 = {'id': "3", - 'name': u'\u4e91\u89c4\u5219', + 'name': '\u4e91\u89c4\u5219', 'description': "an unicode-named tenant.", 'enabled': True, 'domain_id': '2', diff --git a/openstack_dashboard/test/test_data/neutron_data.py b/openstack_dashboard/test/test_data/neutron_data.py index 5c2fc0d2f8..4a90e5c22f 100644 --- a/openstack_dashboard/test/test_data/neutron_data.py +++ b/openstack_dashboard/test/test_data/neutron_data.py @@ -506,7 +506,7 @@ def data(TEST): def add_rule_to_group(secgroup, default_only=True): rule_egress_ipv4 = { 'id': uuidutils.generate_uuid(), - 'direction': u'egress', 'ethertype': u'IPv4', + 'direction': 'egress', 'ethertype': 'IPv4', 'port_range_min': None, 'port_range_max': None, 'protocol': None, 'remote_group_id': None, 'remote_ip_prefix': None, @@ -516,7 +516,7 @@ def data(TEST): } rule_egress_ipv6 = { 'id': uuidutils.generate_uuid(), - 'direction': u'egress', 'ethertype': u'IPv6', + 'direction': 'egress', 'ethertype': 'IPv6', 'port_range_min': None, 'port_range_max': None, 'protocol': None, 'remote_group_id': None, 'remote_ip_prefix': None, @@ -526,29 +526,29 @@ def data(TEST): } rule_tcp_80 = { 'id': uuidutils.generate_uuid(), - 'direction': u'ingress', 'ethertype': u'IPv4', + 'direction': 'ingress', 'ethertype': 'IPv4', 'port_range_min': 80, 'port_range_max': 80, - 'protocol': u'tcp', 'remote_group_id': None, - 'remote_ip_prefix': u'0.0.0.0/0', + 'protocol': 'tcp', 'remote_group_id': None, + 'remote_ip_prefix': '0.0.0.0/0', 'security_group_id': secgroup['id'], 'tenant_id': secgroup['tenant_id'], 'description': 'Ingress HTTP', } rule_icmp = { 'id': uuidutils.generate_uuid(), - 'direction': u'ingress', 'ethertype': u'IPv4', + 'direction': 'ingress', 'ethertype': 'IPv4', 'port_range_min': 5, 'port_range_max': 8, - 'protocol': u'icmp', 'remote_group_id': None, - 'remote_ip_prefix': u'0.0.0.0/0', + 'protocol': 'icmp', 'remote_group_id': None, + 'remote_ip_prefix': '0.0.0.0/0', 'security_group_id': secgroup['id'], 'tenant_id': secgroup['tenant_id'], 'description': 'Ingress IPv4 ICMP', } rule_group = { 'id': uuidutils.generate_uuid(), - 'direction': u'ingress', 'ethertype': u'IPv4', + 'direction': 'ingress', 'ethertype': 'IPv4', 'port_range_min': 80, 'port_range_max': 80, - 'protocol': u'tcp', 'remote_group_id': sec_group_1['id'], + 'protocol': 'tcp', 'remote_group_id': sec_group_1['id'], 'remote_ip_prefix': None, 'security_group_id': secgroup['id'], 'tenant_id': secgroup['tenant_id'], @@ -556,20 +556,20 @@ def data(TEST): } rule_ip_proto = { 'id': uuidutils.generate_uuid(), - 'direction': u'ingress', 'ethertype': u'IPv4', + 'direction': 'ingress', 'ethertype': 'IPv4', 'port_range_min': None, 'port_range_max': None, - 'protocol': u'99', 'remote_group_id': None, - 'remote_ip_prefix': u'0.0.0.0/24', + 'protocol': '99', 'remote_group_id': None, + 'remote_ip_prefix': '0.0.0.0/24', 'security_group_id': secgroup['id'], 'tenant_id': secgroup['tenant_id'], 'description': 'Ingress custom IP protocol 99', } rule_all_tcp = { 'id': uuidutils.generate_uuid(), - 'direction': u'egress', 'ethertype': u'IPv4', + 'direction': 'egress', 'ethertype': 'IPv4', 'port_range_min': 1, 'port_range_max': 65535, - 'protocol': u'tcp', 'remote_group_id': None, - 'remote_ip_prefix': u'0.0.0.0/24', + 'protocol': 'tcp', 'remote_group_id': None, + 'remote_ip_prefix': '0.0.0.0/24', 'security_group_id': secgroup['id'], 'tenant_id': secgroup['tenant_id'], 'description': 'Egress all TCP', @@ -867,7 +867,7 @@ def data(TEST): 'sub_ports': [{'segmentation_type': 'vlan', 'segmentation_id': tdata['tag_1'], 'port_id': tdata['child1']['id']}, - {'segmentation_type': u'vlan', + {'segmentation_type': 'vlan', 'segmentation_id': tdata['tag_2'], 'port_id': tdata['child2']['id']}], 'name': 'trunk', diff --git a/openstack_dashboard/test/test_data/nova_data.py b/openstack_dashboard/test/test_data/nova_data.py index 9b9d3acaad..7fd75e26f0 100644 --- a/openstack_dashboard/test/test_data/nova_data.py +++ b/openstack_dashboard/test/test_data/nova_data.py @@ -359,7 +359,7 @@ def data(TEST): "server_id": "2"}) server_2 = servers.Server(servers.ServerManager(None), json.loads(SERVER_DATA % vals)['server']) - vals.update({"name": u'\u4e91\u89c4\u5219', + vals.update({"name": '\u4e91\u89c4\u5219', "status": "ACTIVE", "tenant_id": tenant3.id, "server_id": "3"}) @@ -380,33 +380,33 @@ def data(TEST): # VNC Console Data console = { - u'console': { - u'url': u'http://example.com:6080/vnc_auto.html', - u'type': u'novnc' + 'console': { + 'url': 'http://example.com:6080/vnc_auto.html', + 'type': 'novnc' } } TEST.servers.vnc_console_data = console # SPICE Console Data console = { - u'console': { - u'url': u'http://example.com:6080/spice_auto.html', - u'type': u'spice' + 'console': { + 'url': 'http://example.com:6080/spice_auto.html', + 'type': 'spice' } } TEST.servers.spice_console_data = console # RDP Console Data console = { - u'console': { - u'url': u'http://example.com:6080/rdp_auto.html', - u'type': u'rdp' + 'console': { + 'url': 'http://example.com:6080/rdp_auto.html', + 'type': 'rdp' } } TEST.servers.rdp_console_data = console # MKS Console Data console = { - u'remote_console': { - u'url': u'http://example.com:6080/mks_auto.html', - u'type': u'mks' + 'remote_console': { + 'url': 'http://example.com:6080/mks_auto.html', + 'type': 'mks' } } TEST.servers.mks_console_data = console diff --git a/openstack_dashboard/test/test_data/swift_data.py b/openstack_dashboard/test/test_data/swift_data.py index 9adaf5fcfd..22c5bd17b5 100644 --- a/openstack_dashboard/test/test_data/swift_data.py +++ b/openstack_dashboard/test/test_data/swift_data.py @@ -30,14 +30,14 @@ def data(TEST): # ' ' (space) can break 'Content-Disposition' if not properly # double-quoted - container_dict_1 = {"name": u"container one%\u6346", + container_dict_1 = {"name": "container one%\u6346", "container_object_count": 2, "container_bytes_used": 256, "timestamp": timeutils.utcnow().isoformat(), "is_public": False, "public_url": ""} container_1 = swift.Container(container_dict_1) - container_2_name = u"container_two\u6346" + container_2_name = "container_two\u6346" container_dict_2 = {"name": container_2_name, "container_object_count": 4, "container_bytes_used": 1024, @@ -48,7 +48,7 @@ def data(TEST): "v1/project_id/%s" % utils_http.urlquote( container_2_name)} container_2 = swift.Container(container_dict_2) - container_dict_3 = {"name": u"container,three%\u6346", + container_dict_3 = {"name": "container,three%\u6346", "container_object_count": 2, "container_bytes_used": 256, "timestamp": timeutils.utcnow().isoformat(), @@ -57,30 +57,30 @@ def data(TEST): container_3 = swift.Container(container_dict_3) TEST.containers.add(container_1, container_2, container_3) - object_dict = {"name": u"test object%\u6346", - "content_type": u"text/plain", + object_dict = {"name": "test object%\u6346", + "content_type": "text/plain", "bytes": 128, "timestamp": timeutils.utcnow().isoformat(), "last_modified": None, - "hash": u"object_hash"} - object_dict_2 = {"name": u"test_object_two\u6346", - "content_type": u"text/plain", + "hash": "object_hash"} + object_dict_2 = {"name": "test_object_two\u6346", + "content_type": "text/plain", "bytes": 128, "timestamp": timeutils.utcnow().isoformat(), "last_modified": None, - "hash": u"object_hash_2"} - object_dict_3 = {"name": u"test,object_three%\u6346", - "content_type": u"text/plain", + "hash": "object_hash_2"} + object_dict_3 = {"name": "test,object_three%\u6346", + "content_type": "text/plain", "bytes": 128, "timestamp": timeutils.utcnow().isoformat(), "last_modified": None, - "hash": u"object_hash"} - object_dict_4 = {"name": u"test folder%\u6346/test.txt", - "content_type": u"text/plain", + "hash": "object_hash"} + object_dict_4 = {"name": "test folder%\u6346/test.txt", + "content_type": "text/plain", "bytes": 128, "timestamp": timeutils.utcnow().isoformat(), "last_modified": None, - "hash": u"object_hash"} + "hash": "object_hash"} obj_dicts = [object_dict, object_dict_2, object_dict_3, object_dict_4] obj_data = b"Fake Data" @@ -90,18 +90,18 @@ def data(TEST): data=obj_data) TEST.objects.add(swift_object) - folder_dict = {"subdir": u"test folder%\u6346/"} + folder_dict = {"subdir": "test folder%\u6346/"} TEST.folder.add(swift.PseudoFolder(folder_dict, container_1.name)) # when the folder is returned as part of a prefix match, this content # is returned by Swift instead: folder_dict_alt = { - "name": u"test folder%\u6346/", + "name": "test folder%\u6346/", "bytes": 0, "last_modified": timeutils.utcnow().isoformat(), - "content_type": u"application/octet-stream", - "hash": u"object_hash" + "content_type": "application/octet-stream", + "hash": "object_hash" } TEST.folder_alt.add(swift.PseudoFolder(folder_dict_alt, container_1.name)) diff --git a/openstack_dashboard/test/unit/api/rest/test_swift.py b/openstack_dashboard/test/unit/api/rest/test_swift.py index 3ac4e6027a..c0c440216a 100644 --- a/openstack_dashboard/test/unit/api/rest/test_swift.py +++ b/openstack_dashboard/test/unit/api/rest/test_swift.py @@ -81,7 +81,7 @@ class SwiftRestTestCase(test.TestCase): False) response = swift.Containers().get(request) self.assertStatusCode(response, 200) - self.assertEqual(u'container one%\u6346', + self.assertEqual('container one%\u6346', response.json['items'][0]['name']) self.assertFalse(response.json['has_more']) self.mock_swift_get_containers.assert_called_once_with(request) @@ -90,11 +90,11 @@ class SwiftRestTestCase(test.TestCase): def test_container_get(self): request = self.mock_rest_request() self.mock_swift_get_container.return_value = self.containers.first() - response = swift.Container().get(request, u'container one%\u6346') + response = swift.Container().get(request, 'container one%\u6346') self.assertStatusCode(response, 200) self.assertEqual(response.json, self.containers.first().to_dict()) self.mock_swift_get_container.assert_called_once_with( - request, u'container one%\u6346') + request, 'container one%\u6346') @test.create_mocks({api.swift: ['swift_create_container']}) def test_container_create(self): @@ -102,7 +102,7 @@ class SwiftRestTestCase(test.TestCase): request = self.mock_rest_request(body='{}') response = swift.Container().post(request, 'spam') self.assertStatusCode(response, 201) - self.assertEqual(u'/api/swift/containers/spam', + self.assertEqual('/api/swift/containers/spam', response['location']) self.mock_swift_create_container.assert_called_once_with( request, 'spam', metadata={} @@ -114,7 +114,7 @@ class SwiftRestTestCase(test.TestCase): request = self.mock_rest_request(body='{"is_public": false}') response = swift.Container().post(request, 'spam') self.assertStatusCode(response, 201) - self.assertEqual(u'/api/swift/containers/spam', + self.assertEqual('/api/swift/containers/spam', response['location']) self.mock_swift_create_container.assert_called_once_with( request, 'spam', metadata={'is_public': False} @@ -124,10 +124,10 @@ class SwiftRestTestCase(test.TestCase): def test_container_delete(self): self.mock_swift_delete_container.return_value = True request = self.mock_rest_request() - response = swift.Container().delete(request, u'container one%\u6346') + response = swift.Container().delete(request, 'container one%\u6346') self.assertStatusCode(response, 204) self.mock_swift_delete_container.assert_called_once_with( - request, u'container one%\u6346' + request, 'container one%\u6346' ) @test.create_mocks({api.swift: ['swift_update_container']}) @@ -151,42 +151,42 @@ class SwiftRestTestCase(test.TestCase): self.mock_swift_get_objects.return_value = ( self.objects.list() + self.folder.list(), False ) - response = swift.Objects().get(request, u'container one%\u6346') + response = swift.Objects().get(request, 'container one%\u6346') self.assertStatusCode(response, 200) self.assertEqual(5, len(response.json['items'])) - self.assertEqual(u'test folder%\u6346/test.txt', + self.assertEqual('test folder%\u6346/test.txt', response.json['items'][3]['path']) self.assertEqual('test.txt', response.json['items'][3]['name']) self.assertTrue(response.json['items'][3]['is_object']) self.assertFalse(response.json['items'][3]['is_subdir']) - self.assertEqual(u'test folder%\u6346/test.txt', + self.assertEqual('test folder%\u6346/test.txt', response.json['items'][3]['path']) - self.assertEqual(u'test folder%\u6346/', + self.assertEqual('test folder%\u6346/', response.json['items'][4]['path']) - self.assertEqual(u'test folder%\u6346', + self.assertEqual('test folder%\u6346', response.json['items'][4]['name']) self.assertFalse(response.json['items'][4]['is_object']) self.assertTrue(response.json['items'][4]['is_subdir']) self.mock_swift_get_objects.assert_called_once_with( request, - u'container one%\u6346', + 'container one%\u6346', prefix=None) @test.create_mocks({api.swift: ['swift_get_objects']}) def test_container_get_path_folder(self): - request = self.mock_rest_request(GET={'path': u'test folder%\u6346/'}) + request = self.mock_rest_request(GET={'path': 'test folder%\u6346/'}) self.mock_swift_get_objects.return_value = (self.subfolder.list(), False) - response = swift.Objects().get(request, u'container one%\u6346') + response = swift.Objects().get(request, 'container one%\u6346') self.assertStatusCode(response, 200) self.assertEqual(1, len(response.json['items'])) self.assertTrue(response.json['items'][0]['is_object']) self.assertFalse(response.json['items'][0]['is_subdir']) self.mock_swift_get_objects.assert_called_once_with( request, - u'container one%\u6346', prefix=u'test folder%\u6346/' + 'container one%\u6346', prefix='test folder%\u6346/' ) @test.create_mocks({api.swift: ['swift_get_object']}) @@ -219,10 +219,10 @@ class SwiftRestTestCase(test.TestCase): form_obj = self.mock_UploadObjectForm.return_value form_obj.is_valid.return_value = True # note file name not used, path name is - _file = mock.Mock(name=u'NOT object%\u6346') + _file = mock.Mock(name='NOT object%\u6346') form_obj.clean.return_value = {'file': _file} request = self.mock_rest_request() - real_name = u'test_object%\u6346' + real_name = 'test_object%\u6346' self.mock_swift_upload_object.return_value = self.objects.first() response = swift.Object().post(request, 'spam', real_name) self.assertStatusCode(response, 201) @@ -232,7 +232,7 @@ class SwiftRestTestCase(test.TestCase): response['location'] ) self.mock_swift_upload_object.assert_called_once_with( - request, 'spam', u'test_object%\u6346', _file) + request, 'spam', 'test_object%\u6346', _file) @test.create_mocks({api.swift: ['swift_create_pseudo_folder'], swift: ['UploadObjectForm']}) @@ -243,7 +243,7 @@ class SwiftRestTestCase(test.TestCase): request = self.mock_rest_request() self.mock_swift_create_pseudo_folder.return_value = \ self.folder_alt.first() - response = swift.Object().post(request, 'spam', u'test_folder%\u6346/') + response = swift.Object().post(request, 'spam', 'test_folder%\u6346/') self.assertStatusCode(response, 201) self.assertEqual( response['location'], @@ -251,7 +251,7 @@ class SwiftRestTestCase(test.TestCase): '=25=E6=8D=86/?=' ) self.mock_swift_create_pseudo_folder.assert_called_once_with( - request, 'spam', u'test_folder%\u6346/') + request, 'spam', 'test_folder%\u6346/') @test.create_mocks({api.swift: ['swift_copy_object']}) def test_object_copy(self): @@ -261,7 +261,7 @@ class SwiftRestTestCase(test.TestCase): self.mock_swift_copy_object.return_value = self.objects.first() response = swift.ObjectCopy().post(request, 'spam', - u'test object%\u6346') + 'test object%\u6346') self.assertStatusCode(response, 201) self.assertEqual( response['location'], @@ -272,7 +272,7 @@ class SwiftRestTestCase(test.TestCase): self.mock_swift_copy_object.assert_called_once_with( request, 'spam', - u'test object%\u6346', + 'test object%\u6346', 'eggs', 'bacon') self.assertStatusCode(response, 201) diff --git a/openstack_dashboard/test/unit/api/test_glance.py b/openstack_dashboard/test/unit/api/test_glance.py index 863c05512d..12f5e7aaa4 100644 --- a/openstack_dashboard/test/unit/api/test_glance.py +++ b/openstack_dashboard/test/unit/api/test_glance.py @@ -400,12 +400,12 @@ class GlanceApiTests(test.APIMockTestCase): def test_create_image_metadata_docker_v2(self): form_data = { - 'name': u'Docker image', - 'description': u'Docker image test', - 'source_type': u'url', - 'image_url': u'/', - 'disk_format': u'docker', - 'architecture': u'x86-64', + 'name': 'Docker image', + 'description': 'Docker image test', + 'source_type': 'url', + 'image_url': '/', + 'disk_format': 'docker', + 'architecture': 'x86-64', 'min_disk': 15, 'min_ram': 512, 'is_public': False, @@ -421,12 +421,12 @@ class GlanceApiTests(test.APIMockTestCase): def test_create_image_metadata_vhd(self): form_data = { - 'name': u'OVF image', - 'description': u'OVF image test', - 'source_type': u'url', - 'image_url': u'/', - 'disk_format': u'vhd', - 'architecture': u'x86-64', + 'name': 'OVF image', + 'description': 'OVF image test', + 'source_type': 'url', + 'image_url': '/', + 'disk_format': 'vhd', + 'architecture': 'x86-64', 'min_disk': 15, 'min_ram': 512, 'is_public': False, diff --git a/openstack_dashboard/test/unit/api/test_nova.py b/openstack_dashboard/test/unit/api/test_nova.py index cce6fb02db..d72dcc363e 100644 --- a/openstack_dashboard/test/unit/api/test_nova.py +++ b/openstack_dashboard/test/unit/api/test_nova.py @@ -264,7 +264,7 @@ class ComputeApiTests(test.APIMockTestCase): novaclient.usage.get.assert_has_calls([ mock.call(self.tenant.id, 'start', 'end'), mock.call(self.tenant.id, 'start', 'end', - marker=u'063cf7f3-ded1-4297-bc4c-31eae876cc93'), + marker='063cf7f3-ded1-4297-bc4c-31eae876cc93'), ]) @mock.patch.object(api._nova, 'novaclient') @@ -301,7 +301,7 @@ class ComputeApiTests(test.APIMockTestCase): novaclient.usage.list.assert_has_calls([ mock.call('start', 'end', True), mock.call('start', 'end', True, - marker=u'063cf7f3-ded1-4297-bc4c-31eae876cc93'), + marker='063cf7f3-ded1-4297-bc4c-31eae876cc93'), ]) @mock.patch.object(api._nova, 'novaclient') diff --git a/openstack_dashboard/test/unit/utils/test_config_types.py b/openstack_dashboard/test/unit/utils/test_config_types.py index 2893eeb30c..7786db7f22 100644 --- a/openstack_dashboard/test/unit/utils/test_config_types.py +++ b/openstack_dashboard/test/unit/utils/test_config_types.py @@ -22,7 +22,7 @@ class ConfigTypesTest(unittest.TestCase): self.assertRaises(ValueError, literal, "[1, '2', 3]") literal = config_types.Literal({0: ""}) - self.assertEqual({1: 'a', 2: u'b'}, literal("{1: 'a', 2: u'b'}")) + self.assertEqual({1: 'a', 2: 'b'}, literal("{1: 'a', 2: 'b'}")) self.assertRaises(ValueError, literal, "[1, '2', 3]") self.assertRaises(ValueError, literal, "{1: 1, '2': 2}") diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py index 13f6e1b81f..d6e4b9dc30 100644 --- a/releasenotes/source/conf.py +++ b/releasenotes/source/conf.py @@ -75,7 +75,7 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -copyright = u'2015, Horizon Developers' +copyright = '2015, Horizon Developers' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -204,8 +204,8 @@ htmlhelp_basename = 'HorizonReleaseNotesdoc' # author, documentclass [howto, manual, or own class]). latex_documents = [ ('index', 'HorizonReleaseNotes.tex', - u'Horizon Release Notes Documentation', - u'Horizon Developers', 'manual'), + 'Horizon Release Notes Documentation', + 'Horizon Developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -234,8 +234,8 @@ latex_documents = [ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'horizonreleasenotes', u'Horizon Release Notes Documentation', - [u'Horizon Developers'], 1) + ('index', 'horizonreleasenotes', 'Horizon Release Notes Documentation', + ['Horizon Developers'], 1) ] # If true, show URL addresses after external links. @@ -248,8 +248,8 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'HorizonReleaseNotes', u'Horizon Release Notes Documentation', - u'Horizon Developers', 'HorizonReleaseNotes', + ('index', 'HorizonReleaseNotes', 'Horizon Release Notes Documentation', + 'Horizon Developers', 'HorizonReleaseNotes', 'Dashboard for OpenStack.', 'Miscellaneous'), ]