Mercurial > kallithea
changeset 6515:884d2c246570
cleanup: use list comprehensions
It's often the same number of lines, but avoids introducing a needless
"result" variable, and makes the item expression stand out more clearly.
It's also a tiny bit faster, but the readability gains is what matters.
author | Søren Løvborg <sorenl@unity3d.com> |
---|---|
date | Mon, 20 Feb 2017 19:21:34 +0100 |
parents | 25623c3c63aa |
children | eea19c23b741 |
files | kallithea/controllers/api/api.py kallithea/controllers/compare.py kallithea/model/db.py kallithea/tests/api/api_base.py |
diffstat | 4 files changed, 50 insertions(+), 54 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/controllers/api/api.py Wed Feb 22 21:20:39 2017 +0100 +++ b/kallithea/controllers/api/api.py Mon Feb 20 19:21:34 2017 +0100 @@ -584,13 +584,12 @@ error: null """ - result = [] - users_list = User.query().order_by(User.username) \ - .filter(User.username != User.DEFAULT_USER) \ - .all() - for user in users_list: - result.append(user.get_api_data()) - return result + return [ + user.get_api_data() + for user in User.query() + .order_by(User.username) + .filter(User.username != User.DEFAULT_USER) + ] @HasPermissionAnyDecorator('hg.admin') def create_user(self, username, email, password=Optional(''), @@ -841,10 +840,10 @@ error : null """ - result = [] - for user_group in UserGroupList(UserGroup.query().all(), perm_level='read'): - result.append(user_group.get_api_data()) - return result + return [ + user_group.get_api_data() + for user_group in UserGroupList(UserGroup.query().all(), perm_level='read') + ] @HasPermissionAnyDecorator('hg.admin', 'hg.usergroup.create.true') def create_user_group(self, group_name, description=Optional(''), @@ -1187,7 +1186,6 @@ raise JSONRPCError('repository `%s` does not exist' % (repoid,)) members = [] - followers = [] for user in repo.repo_to_perm: perm = user.permission.permission_name user = user.user @@ -1208,8 +1206,10 @@ } members.append(user_group_data) - for user in repo.followers: - followers.append(user.user.get_api_data()) + followers = [ + uf.user.get_api_data() + for uf in repo.followers + ] data = repo.get_api_data() data['members'] = members @@ -1247,15 +1247,15 @@ ] error: null """ - result = [] if not HasPermissionAny('hg.admin')(): repos = RepoModel().get_all_user_repos(user=request.authuser.user_id) else: repos = Repository.query() - for repo in repos: - result.append(repo.get_api_data()) - return result + return [ + repo.get_api_data() + for repo in repos + ] # permission check inside def get_repo_nodes(self, repoid, revision, root_path, @@ -1910,10 +1910,10 @@ Returns all repository groups """ - result = [] - for repo_group in RepoGroup.query(): - result.append(repo_group.get_api_data()) - return result + return [ + repo_group.get_api_data() + for repo_group in RepoGroup.query() + ] @HasPermissionAnyDecorator('hg.admin') def create_repo_group(self, group_name, description=Optional(''), @@ -2352,14 +2352,13 @@ else: user_id = get_user_or_error(userid).user_id - gists = [] - _gists = Gist().query() \ - .filter(or_(Gist.gist_expires == -1, Gist.gist_expires >= time.time())) \ - .filter(Gist.owner_id == user_id) \ - .order_by(Gist.created_on.desc()) - for gist in _gists: - gists.append(gist.get_api_data()) - return gists + return [ + gist.get_api_data() + for gist in Gist().query() + .filter(or_(Gist.gist_expires == -1, Gist.gist_expires >= time.time())) + .filter(Gist.owner_id == user_id) + .order_by(Gist.created_on.desc()) + ] def create_gist(self, files, owner=Optional(OAttr('apiuser')), gist_type=Optional(Gist.GIST_PUBLIC), lifetime=Optional(-1),
--- a/kallithea/controllers/compare.py Wed Feb 22 21:20:39 2017 +0100 +++ b/kallithea/controllers/compare.py Mon Feb 20 19:21:34 2017 +0100 @@ -134,11 +134,11 @@ gitrepo_remote = Repo(other_repo.path) SubprocessGitClient(thin_packs=False).fetch(safe_str(org_repo.path), gitrepo_remote) - revs = [] - for x in gitrepo_remote.get_walker(include=[other_rev], - exclude=[org_rev]): - revs.append(x.commit.id) - + revs = [ + x.commit.id + for x in gitrepo_remote.get_walker(include=[other_rev], + exclude=[org_rev]) + ] other_changesets = [other_repo.get_changeset(rev) for rev in reversed(revs)] if other_changesets: ancestors = [other_changesets[0].parents[0].raw_id]
--- a/kallithea/model/db.py Wed Feb 22 21:20:39 2017 +0100 +++ b/kallithea/model/db.py Mon Feb 20 19:21:34 2017 +0100 @@ -100,10 +100,10 @@ """return list with keys and values tuples corresponding to this model data """ - l = [] - for k in self._get_keys(): - l.append((k, getattr(self, k),)) - return l + return [ + (k, getattr(self, k)) + for k in self._get_keys() + ] def populate_obj(self, populate_dict): """populate model with data from given populate_dict""" @@ -915,11 +915,10 @@ owner=user_group.owner.username, ) if with_members: - members = [] - for user in user_group.members: - user = user.user - members.append(user.get_api_data()) - data['members'] = members + data['members'] = [ + ugm.user.get_api_data() + for ugm in user_group.members + ] return data
--- a/kallithea/tests/api/api_base.py Wed Feb 22 21:20:39 2017 +0100 +++ b/kallithea/tests/api/api_base.py Mon Feb 20 19:21:34 2017 +0100 @@ -877,24 +877,22 @@ id_, params = _build_data(self.apikey, 'get_repos') response = api_call(self, params) - result = [] - for repo in Repository.query(): - result.append(repo.get_api_data()) - ret = jsonify(result) + expected = jsonify([ + repo.get_api_data() + for repo in Repository.query() + ]) - expected = ret self._compare_ok(id_, expected, given=response.body) def test_api_get_repos_non_admin(self): id_, params = _build_data(self.apikey_regular, 'get_repos') response = api_call(self, params) - result = [] - for repo in RepoModel().get_all_user_repos(self.TEST_USER_LOGIN): - result.append(repo.get_api_data()) - ret = jsonify(result) + expected = jsonify([ + repo.get_api_data() + for repo in RepoModel().get_all_user_repos(self.TEST_USER_LOGIN) + ]) - expected = ret self._compare_ok(id_, expected, given=response.body) @parametrize('name,ret_type', [