From 3265c096429e392cf587a7801c3d13be8048eb5f Mon Sep 17 00:00:00 2001 From: David Read Date: Fri, 8 Nov 2019 21:31:03 +0000 Subject: [PATCH] Improvement according to C407 flake8 comprehension rule C407 Unnecessary list comprehension - 'sorted' can take a generator --- ckan/lib/dictization/model_dictize.py | 10 ++++---- .../legacy/functional/api/model/test_group.py | 4 ++-- .../functional/api/model/test_vocabulary.py | 6 ++--- .../legacy/lib/test_solr_search_index.py | 2 +- ckan/tests/lib/search/test_index.py | 2 +- ckan/tests/lib/test_datapreview.py | 15 ++++++++---- ckan/tests/logic/action/test_create.py | 8 +++---- ckan/tests/logic/action/test_delete.py | 20 ++++++++-------- ckan/tests/logic/action/test_get.py | 24 ++++++++++--------- ckan/tests/logic/action/test_update.py | 8 +++---- ckan/tests/logic/test_conversion.py | 12 +++++----- 11 files changed, 60 insertions(+), 51 deletions(-) diff --git a/ckan/lib/dictization/model_dictize.py b/ckan/lib/dictization/model_dictize.py index 26fa2238429..83e3c1a678f 100644 --- a/ckan/lib/dictization/model_dictize.py +++ b/ckan/lib/dictization/model_dictize.py @@ -539,9 +539,11 @@ def group_to_api(group, context): dictized["extras"] = dict((extra["key"], extra["value"]) for extra in dictized["extras"]) if api_version == 1: - dictized["packages"] = sorted([pkg["name"] for pkg in dictized["packages"]]) + dictized["packages"] = sorted(pkg["name"] + for pkg in dictized["packages"]) else: - dictized["packages"] = sorted([pkg["id"] for pkg in dictized["packages"]]) + dictized["packages"] = sorted(pkg["id"] + for pkg in dictized["packages"]) return dictized def tag_to_api(tag, context): @@ -549,9 +551,9 @@ def tag_to_api(tag, context): assert api_version, 'No api_version supplied in context' dictized = tag_dictize(tag, context) if api_version == 1: - return sorted([package["name"] for package in dictized["packages"]]) + return sorted(package["name"] for package in dictized["packages"]) else: - return sorted([package["id"] for package in dictized["packages"]]) + return sorted(package["id"] for package in dictized["packages"]) def resource_dict_to_api(res_dict, package_id, context): diff --git a/ckan/tests/legacy/functional/api/model/test_group.py b/ckan/tests/legacy/functional/api/model/test_group.py index 68c022a0d4f..689b58dabfd 100644 --- a/ckan/tests/legacy/functional/api/model/test_group.py +++ b/ckan/tests/legacy/functional/api/model/test_group.py @@ -63,8 +63,8 @@ def test_register_post_ok(self): group = self.loads(res.body) expected_group = copy.deepcopy(self.testgroupvalues) expected_group['packages'] = \ - sorted([self.ref_package(self.get_package_by_name(pkg_name)) \ - for pkg_name in expected_group['packages']]) + sorted(self.ref_package(self.get_package_by_name(pkg_name)) + for pkg_name in expected_group['packages']) for expected_key, expected_value in expected_group.items(): assert_equal(group.get(expected_key), expected_value) diff --git a/ckan/tests/legacy/functional/api/model/test_vocabulary.py b/ckan/tests/legacy/functional/api/model/test_vocabulary.py index e87b99c4861..373f8b6d8b6 100644 --- a/ckan/tests/legacy/functional/api/model/test_vocabulary.py +++ b/ckan/tests/legacy/functional/api/model/test_vocabulary.py @@ -129,8 +129,8 @@ def _update_vocabulary(self, params, user=None): assert updated_vocab['name'] == original_vocab['name'] # tags should change only if given in params. if 'tags' in params: - assert sorted([tag['name'] for tag in params['tags']]) \ - == sorted([tag['name'] for tag in updated_vocab['tags']]) + assert sorted(tag['name'] for tag in params['tags']) \ + == sorted(tag['name'] for tag in updated_vocab['tags']) else: assert updated_vocab['tags'] == original_vocab['tags'] @@ -905,7 +905,7 @@ def test_delete_tag_from_vocab(self): assert tag['name'] not in tags_after difference = [tag_name for tag_name in tags_before if tag_name not in tags_after] - assert sorted(difference) == sorted([tag['name'] for tag in tags]) + assert sorted(difference) == sorted(tag['name'] for tag in tags) # Test that the tags no longer appear in the list of tags for the # package. diff --git a/ckan/tests/legacy/lib/test_solr_search_index.py b/ckan/tests/legacy/lib/test_solr_search_index.py index 8441dfc54d4..94630cbcdab 100644 --- a/ckan/tests/legacy/lib/test_solr_search_index.py +++ b/ckan/tests/legacy/lib/test_solr_search_index.py @@ -53,6 +53,6 @@ def test_0_indexing(self): def test_1_basic(self): results = self.solr.search(q='sweden', fq=self.fq) - result_names = sorted([r['name'] for r in results]) + result_names = sorted(r['name'] for r in results) assert_equal([u'se-opengov', u'se-publications'], result_names) diff --git a/ckan/tests/lib/search/test_index.py b/ckan/tests/lib/search/test_index.py index 519cdea1134..fe6cbac90a1 100644 --- a/ckan/tests/lib/search/test_index.py +++ b/ckan/tests/lib/search/test_index.py @@ -99,7 +99,7 @@ def test_delete_package(self): response = self.solr_client.search(q='title:Monkey', fq=self.fq) assert_equal(len(response), 1) - response_ids = sorted([x['id'] for x in response.docs]) + response_ids = sorted(x['id'] for x in response.docs) assert_equal(response_ids, ['test-index']) def test_index_illegal_xml_chars(self): diff --git a/ckan/tests/lib/test_datapreview.py b/ckan/tests/lib/test_datapreview.py index dd4c85dc3df..e76cbf77bc8 100644 --- a/ckan/tests/lib/test_datapreview.py +++ b/ckan/tests/lib/test_datapreview.py @@ -74,7 +74,8 @@ def test_no_config(self): default_views = datapreview.get_default_view_plugins() - eq_(sorted([view_plugin.info()['name'] for view_plugin in default_views]), + eq_(sorted(view_plugin.info()['name'] + for view_plugin in default_views), sorted(datapreview.DEFAULT_RESOURCE_VIEW_TYPES)) @helpers.change_config('ckan.views.default_views', '') @@ -89,7 +90,8 @@ def test_in_config(self): default_views = datapreview.get_default_view_plugins() - eq_(sorted([view_plugin.info()['name'] for view_plugin in default_views]), + eq_(sorted(view_plugin.info()['name'] + for view_plugin in default_views), ['image_view']) @helpers.change_config('ckan.views.default_views', 'test_datastore_view') @@ -97,7 +99,8 @@ def test_in_config_datastore_view_only(self): default_views = datapreview.get_default_view_plugins(get_datastore_views=True) - eq_(sorted([view_plugin.info()['name'] for view_plugin in default_views]), + eq_(sorted(view_plugin.info()['name'] + for view_plugin in default_views), ['test_datastore_view']) @helpers.change_config('ckan.views.default_views', 'test_datastore_view') @@ -112,7 +115,8 @@ def test_both_plugins_in_config_only_non_datastore(self): default_views = datapreview.get_default_view_plugins() - eq_(sorted([view_plugin.info()['name'] for view_plugin in default_views]), + eq_(sorted(view_plugin.info()['name'] + for view_plugin in default_views), ['image_view']) @helpers.change_config('ckan.views.default_views', 'image_view test_datastore_view') @@ -120,7 +124,8 @@ def test_both_plugins_in_config_only_datastore(self): default_views = datapreview.get_default_view_plugins(get_datastore_views=True) - eq_(sorted([view_plugin.info()['name'] for view_plugin in default_views]), + eq_(sorted(view_plugin.info()['name'] + for view_plugin in default_views), ['test_datastore_view']) diff --git a/ckan/tests/logic/action/test_create.py b/ckan/tests/logic/action/test_create.py index 351c1749ab1..79a99e65dbd 100644 --- a/ckan/tests/logic/action/test_create.py +++ b/ckan/tests/logic/action/test_create.py @@ -976,12 +976,12 @@ def test_tags(self): tags=[{'name': u'russian'}, {'name': u'tolstoy'}], ) - tag_names = sorted([tag_dict['name'] - for tag_dict in dataset['tags']]) + tag_names = sorted(tag_dict['name'] + for tag_dict in dataset['tags']) assert_equals(tag_names, ['russian', 'tolstoy']) dataset = helpers.call_action('package_show', id=dataset['id']) - tag_names = sorted([tag_dict['name'] - for tag_dict in dataset['tags']]) + tag_names = sorted(tag_dict['name'] + for tag_dict in dataset['tags']) assert_equals(tag_names, ['russian', 'tolstoy']) def test_return_id_only(self): diff --git a/ckan/tests/logic/action/test_delete.py b/ckan/tests/logic/action/test_delete.py index fae3599a720..35ad7bdc6e5 100644 --- a/ckan/tests/logic/action/test_delete.py +++ b/ckan/tests/logic/action/test_delete.py @@ -223,14 +223,14 @@ def test_purged_group_leaves_no_trace_in_the_model(self): helpers.call_action('group_purge', id=group1['name']) # the Group and related objects are gone - assert_equals(sorted([g.name for g in - model.Session.query(model.Group).all()]), + assert_equals(sorted(g.name for g in + model.Session.query(model.Group).all()), ['child', 'parent']) assert_equals(model.Session.query(model.GroupExtra).all(), []) # the only members left are the users for the parent and child - assert_equals(sorted([ + assert_equals(sorted( (m.table_name, m.group.name) - for m in model.Session.query(model.Member).join(model.Group)]), + for m in model.Session.query(model.Member).join(model.Group)), [('user', 'child'), ('user', 'parent')]) # the dataset is still there though assert_equals([p.name for p in model.Session.query(model.Package)], @@ -313,14 +313,14 @@ def test_purged_organization_leaves_no_trace_in_the_model(self): helpers.call_action('organization_purge', id=org1['name']) # the Organization and related objects are gone - assert_equals(sorted([o.name for o in - model.Session.query(model.Group).all()]), + assert_equals(sorted(o.name for o in + model.Session.query(model.Group).all()), ['child', 'parent']) assert_equals(model.Session.query(model.GroupExtra).all(), []) # the only members left are the users for the parent and child - assert_equals(sorted([ + assert_equals(sorted( (m.table_name, m.group.name) - for m in model.Session.query(model.Member).join(model.Group)]), + for m in model.Session.query(model.Member).join(model.Group)), [('user', 'child'), ('user', 'parent')]) # the dataset is still there though assert_equals([p.name for p in model.Session.query(model.Package)], @@ -416,8 +416,8 @@ def test_purged_dataset_leaves_no_trace_in_the_model(self): # the only member left is for the user created in factories.Group() and # factories.Organization() assert_equals(sorted( - [(m.table_name, m.group.name) - for m in model.Session.query(model.Member).join(model.Group)]), + (m.table_name, m.group.name) + for m in model.Session.query(model.Member).join(model.Group)), [('user', 'group1'), ('user', org['name'])]) def test_purged_dataset_removed_from_relationships(self): diff --git a/ckan/tests/logic/action/test_get.py b/ckan/tests/logic/action/test_get.py index 10f57114698..6a5c67915c7 100644 --- a/ckan/tests/logic/action/test_get.py +++ b/ckan/tests/logic/action/test_get.py @@ -203,7 +203,7 @@ def test_group_list(self): group_list = helpers.call_action('group_list') assert (sorted(group_list) == - sorted([g['name'] for g in [group1, group2]])) + sorted(g['name'] for g in [group1, group2])) def test_group_list_in_presence_of_organizations(self): ''' @@ -218,7 +218,7 @@ def test_group_list_in_presence_of_organizations(self): group_list = helpers.call_action('group_list') assert (sorted(group_list) == - sorted([g['name'] for g in [group1, group2]])) + sorted(g['name'] for g in [group1, group2])) def test_group_list_in_presence_of_custom_group_types(self): '''Getting the group_list shouldn't return custom group types.''' @@ -229,7 +229,7 @@ def test_group_list_in_presence_of_custom_group_types(self): group_list = helpers.call_action('group_list') assert (sorted(group_list) == - sorted([g['name'] for g in [group1, group2]])) + sorted(g['name'] for g in [group1, group2])) def test_group_list_return_custom_group(self): ''' @@ -244,7 +244,7 @@ def test_group_list_return_custom_group(self): group_list = helpers.call_action('group_list', type='custom') assert (sorted(group_list) == - sorted([g['name'] for g in [group1, group2]])) + sorted(g['name'] for g in [group1, group2])) def test_group_list_sort_by_package_count(self): @@ -575,7 +575,7 @@ def test_organization_list(self): org_list = helpers.call_action('organization_list') assert (sorted(org_list) == - sorted([g['name'] for g in [org1, org2]])) + sorted(g['name'] for g in [org1, org2])) def test_organization_list_in_presence_of_groups(self): ''' @@ -590,7 +590,7 @@ def test_organization_list_in_presence_of_groups(self): org_list = helpers.call_action('organization_list') assert (sorted(org_list) == - sorted([g['name'] for g in [org1, org2]])) + sorted(g['name'] for g in [org1, org2])) def test_organization_list_in_presence_of_custom_group_types(self): ''' @@ -605,7 +605,7 @@ def test_organization_list_in_presence_of_custom_group_types(self): org_list = helpers.call_action('organization_list') assert (sorted(org_list) == - sorted([g['name'] for g in [org1, org2]])) + sorted(g['name'] for g in [org1, org2])) def test_organization_list_return_custom_organization_type(self): ''' @@ -620,7 +620,7 @@ def test_organization_list_return_custom_organization_type(self): org_list = helpers.call_action('organization_list', type='custom_org') assert (sorted(org_list) == - sorted([g['name'] for g in [org2]])), '{}'.format(org_list) + sorted(g['name'] for g in [org2])), '{}'.format(org_list) def _create_bulk_orgs(self, name, count): from ckan import model @@ -1937,12 +1937,14 @@ def test_organization_list_for_user_returns_all_roles(self): org_list_for_user1 = helpers.call_action('organization_list_for_user', id=user1['id']) - assert sorted([org['id'] for org in org_list_for_user1]) == sorted([org1['id'], org2['id'], org3['id']]) + assert sorted(org['id'] for org in org_list_for_user1) == \ + sorted([org1['id'], org2['id'], org3['id']]) org_list_for_user2 = helpers.call_action('organization_list_for_user', id=user2['id']) - assert sorted([org['id'] for org in org_list_for_user2]) == sorted([org1['id'], org2['id']]) + assert sorted(org['id'] for org in org_list_for_user2) == \ + sorted([org1['id'], org2['id']]) org_list_for_user3 = helpers.call_action('organization_list_for_user', id=user3['id']) @@ -2313,7 +2315,7 @@ def test_followee_list(self): id=user['name']) eq(len(followee_list), 2) - eq(sorted([f['display_name'] for f in followee_list]), + eq(sorted(f['display_name'] for f in followee_list), ['Environment', 'Finance']) def test_followee_list_with_q(self): diff --git a/ckan/tests/logic/action/test_update.py b/ckan/tests/logic/action/test_update.py index aeb319915fa..9c2200617cc 100644 --- a/ckan/tests/logic/action/test_update.py +++ b/ckan/tests/logic/action/test_update.py @@ -644,12 +644,12 @@ def test_tags(self): tags=[{'name': u'russian'}, {'name': u'tolstoy'}], ) - tag_names = sorted([tag_dict['name'] - for tag_dict in dataset_['tags']]) + tag_names = sorted(tag_dict['name'] + for tag_dict in dataset_['tags']) assert_equals(tag_names, ['russian', 'tolstoy']) dataset_ = helpers.call_action('package_show', id=dataset['id']) - tag_names = sorted([tag_dict['name'] - for tag_dict in dataset_['tags']]) + tag_names = sorted(tag_dict['name'] + for tag_dict in dataset_['tags']) assert_equals(tag_names, ['russian', 'tolstoy']) def test_return_id_only(self): diff --git a/ckan/tests/logic/test_conversion.py b/ckan/tests/logic/test_conversion.py index 03f94b51fb0..1344180b01a 100644 --- a/ckan/tests/logic/test_conversion.py +++ b/ckan/tests/logic/test_conversion.py @@ -63,9 +63,9 @@ def test_convert_to_extras_field_can_be_combined_with_a_proper_extra(self): assert 'extras' in data eq_(len(data['extras']), 2) - eq_(sorted([e['key'] for e in data['extras']]), + eq_(sorted(e['key'] for e in data['extras']), ['custom_text', 'proper_extra']) - eq_(sorted([e['value'] for e in data['extras']]), + eq_(sorted(e['value'] for e in data['extras']), ['Bye', 'Hi']) def test_convert_to_extras_field_can_be_combined_with_more_extras(self): @@ -92,9 +92,9 @@ def test_convert_to_extras_field_can_be_combined_with_more_extras(self): assert 'extras' in data eq_(len(data['extras']), 3) - eq_(sorted([e['key'] for e in data['extras']]), + eq_(sorted(e['key'] for e in data['extras']), ['custom_text', 'proper_extra', 'proper_extra2']) - eq_(sorted([e['value'] for e in data['extras']]), + eq_(sorted(e['value'] for e in data['extras']), ['Bye', 'Bye2', 'Hi']) def test_convert_to_extras_field_can_be_combined_with_extras_deleted(self): @@ -121,9 +121,9 @@ def test_convert_to_extras_field_can_be_combined_with_extras_deleted(self): assert 'extras' in data eq_(len(data['extras']), 3) - eq_(sorted([e['key'] for e in data['extras']]), + eq_(sorted(e['key'] for e in data['extras']), ['custom_text', 'proper_extra', 'proper_extra2']) - eq_(sorted([e['value'] for e in data['extras']]), + eq_(sorted(e['value'] for e in data['extras']), ['Bye', 'Bye2', 'Hi']) def test_convert_to_extras_free_extra_can_not_have_the_same_key(self):