def list_feed_by_ids(self, ids): feeds = get_many(Feed, ids) user_ids = Set([x.user_id for x in feeds]) userprofile_dict = dict((x.id, x) for x in GsuserManager.list_userprofile_by_ids(user_ids)) for feed in feeds: if feed.user_id in userprofile_dict: feed.userprofile = userprofile_dict[feed.user_id] return feeds
def list_feed_by_ids(self, ids): feeds = get_many(Feed, ids) user_ids = Set([x.user_id for x in feeds]) userprofile_dict = dict( (x.id, x) for x in GsuserManager.list_userprofile_by_ids(user_ids)) for feed in feeds: if feed.user_id in userprofile_dict: feed.userprofile = userprofile_dict[feed.user_id] return feeds
def list_fork_repo(self, repo_id): forkRepos = query(Repo, None, 'repo_l_forkRepoId', [repo_id]) repo_ids = [o.id for o in forkRepos] unorder_repos = get_many(Repo, repo_ids) repo_map = {} for repo in unorder_repos: repo_map[repo.id] = repo order_repos = [] for repo_id in repo_ids: if repo_id in repo_map: order_repos.append(repo_map[repo_id]) return order_repos
def list_issues_cons(self, repo_id, assigned_ids, trackers, statuses, priorities, orderby, offset, row_count): # diff between multi filter and single filter rawsql_id = 'issue.list_issues_cons' parameters = [ ','.join(str(x) for x in assigned_ids), ','.join(str(x) for x in trackers), ','.join(str(x) for x in statuses), ','.join(str(x) for x in priorities), orderby, offset, row_count] version = get_version(Issue, repo_id) sqlkey = get_sqlkey(version, rawsql_id, parameters) value = cache.get(sqlkey) if value is not None: return get_many(Issue, value) issues = Issue.objects.filter(visibly=0).filter(repo_id=repo_id).filter(assigned__in=assigned_ids).filter(tracker__in=trackers).filter(status__in=statuses).filter(priority__in=priorities).order_by('-'+orderby)[offset : offset+row_count] for issue in issues: issue.fillwith() issues_ids = [x.id for x in issues] cache.add(sqlkey, issues_ids) return list(issues)
def list_commits_by_ids(self, ids): commits = get_many(CommitHistory, ids) for commit in commits: commit.fillwith() return commits
def list_repo_by_ids(self, ids): return get_many(Repo, ids)