예제 #1
0
def get_position_repositories(uid, args, position, flag_total, only_uris):
    positions_id = store.get_all_members_id(position)
    if uid not in positions_id:
        return []
    else:
        projects = store.get_all_member_projects(positions_id[uid])
        res_prj = set()
        res = []
        for x in projects:
            repos = store.get_all_project_repositories(x)
            if not flag_total:
                for k in repos:
                    rep_info = store.db.hgetall(k)
                    if detect_overlap_date(
                        args.get('begin'), args.get('end'),
                        rep_info.get('first_commit'), rep_info.get('last_commit')
                    ):
                        res_prj.add(k)
        if only_uris:
            return res_prj
        else:
            [res.append({
                'id': store.db.hgetall(x).get('id'),
                'uri': x
            }) for x in res_prj]
            return res
예제 #2
0
def get_project_repositories(pjid, **kwargs):
    flag_total = kwargs.get('begin') is None and kwargs.get('end') is None
    args = get_correct_kwargs(kwargs)
    projects_id = store.get_all_projects_id()
    if pjid not in projects_id:
        return args, []
    else:
        repos = store.get_all_project_repositories(projects_id[pjid])
        if not flag_total:
            res_prj = set()
            for k in repos:
                rep_info = store.db.hgetall(k)
                if detect_overlap_date(
                    args.get('begin'), args.get('end'),
                    rep_info.get('first_commit'), rep_info.get('last_commit')
                ):
                    res_prj.add(k)
            repos = res_prj
        res = []
        [res.append({
            'id': store.db.hgetall(x).get('id'),
            'uri': x
        }) for x in repos]
        return args, res