Skip to content

Commit

Permalink
Improvement according to C407 flake8 comprehension rule
Browse files Browse the repository at this point in the history
C407 Unnecessary list comprehension - 'sorted' can take a generator
  • Loading branch information
David Read committed Nov 8, 2019
1 parent 66effbd commit 7934299
Show file tree
Hide file tree
Showing 11 changed files with 60 additions and 51 deletions.
10 changes: 6 additions & 4 deletions ckan/lib/dictization/model_dictize.py
Expand Up @@ -539,19 +539,21 @@ 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):
api_version = context.get('api_version')
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):
Expand Down
4 changes: 2 additions & 2 deletions ckan/tests/legacy/functional/api/model/test_group.py
Expand Up @@ -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)

Expand Down
6 changes: 3 additions & 3 deletions ckan/tests/legacy/functional/api/model/test_vocabulary.py
Expand Up @@ -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']

Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion ckan/tests/legacy/lib/test_solr_search_index.py
Expand Up @@ -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)
2 changes: 1 addition & 1 deletion ckan/tests/lib/search/test_index.py
Expand Up @@ -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):
Expand Down
15 changes: 10 additions & 5 deletions ckan/tests/lib/test_datapreview.py
Expand Up @@ -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', '')
Expand All @@ -89,15 +90,17 @@ 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')
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')
Expand All @@ -112,15 +115,17 @@ 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')
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'])


Expand Down
8 changes: 4 additions & 4 deletions ckan/tests/logic/action/test_create.py
Expand Up @@ -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):
Expand Down
20 changes: 10 additions & 10 deletions ckan/tests/logic/action/test_delete.py
Expand Up @@ -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)],
Expand Down Expand Up @@ -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)],
Expand Down Expand Up @@ -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):
Expand Down
24 changes: 13 additions & 11 deletions ckan/tests/logic/action/test_get.py
Expand Up @@ -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):
'''
Expand All @@ -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.'''
Expand All @@ -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):
'''
Expand All @@ -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):

Expand Down Expand Up @@ -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):
'''
Expand All @@ -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):
'''
Expand All @@ -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):
'''
Expand All @@ -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
Expand Down Expand Up @@ -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'])
Expand Down Expand Up @@ -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):
Expand Down
8 changes: 4 additions & 4 deletions ckan/tests/logic/action/test_update.py
Expand Up @@ -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):
Expand Down
12 changes: 6 additions & 6 deletions ckan/tests/logic/test_conversion.py
Expand Up @@ -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):
Expand All @@ -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):
Expand All @@ -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):
Expand Down

0 comments on commit 7934299

Please sign in to comment.