Example #1
0
def load_project_bugs(project_name, queue, stop_event):
    launchpad = LaunchpadClient()
    project = launchpad._get_project(project_name)
    counter = 0
    for bug in launchpad.get_all_bugs(project):
        rts = bug.related_tasks.entries
        if rts:
            for rt in rts:
                counter += 1
                rt = Bug(rt)
                queue.put(serialize_bug(rt, task=bug))
        else:
            counter += 1
            queue.put(serialize_bug(bug))
    print("No more bugs for project '{0}' ({1} processed)".format(
        project_name, counter))
    stop_event.set()
def use_access_token(credentials):
    global user_agents
    if not session['access_token_parts']['oauth_token'] in user_agents:
        credentials.access_token = AccessToken.from_params(
            session['access_token_parts'])
        user_agents[credentials.access_token.key] = LaunchpadClient(
            credentials)
    is_authorized = True
    session['is_authorized'] = is_authorized
    return (False, None, is_authorized)
Example #3
0
def load_project_bugs(project_name, queue, stop_event):
    launchpad = LaunchpadClient()
    project = launchpad._get_project(project_name)

    milestone_series = {}
    for m in project.active_milestones:
        milestone_series[str(m)] = str(m.series_target)

    counter = 0
    for bug in launchpad.get_all_bugs(project):
        bug_id = bug.bug.id
        db.bugs[str(bug.bug_target_name).split("/")[0]].remove({"id": bug_id})

        if bug.bug.duplicate_of is not None:
            continue

        target_projects = launchpad.get_bug_targets(bug)

        for project in PROJECTS_LIST:
            if project not in target_projects:
                db.bugs[project].remove({"id": bug_id})

        bug_milestone = str(bug.milestone)
        rts = bug.related_tasks.entries

        if rts:
            rts_milestones = []
            for rt in rts:
                rts_milestones.append(rt["target_link"])
            if milestone_series[bug_milestone] not in rts_milestones:
                queue.put(serialize_bug(bug))

            for rt in rts:
                counter += 1
                rt = Bug(rt)
                queue.put(serialize_bug(rt, task=bug))
        else:
            counter += 1
            queue.put(serialize_bug(bug))
    print("No more bugs for project '{0}' ({1} processed)".format(project_name, counter))
    stop_event.set()
def get_access_token(credentials):
    global user_agents
    credentials._request_token = AccessToken.from_params(
        session['request_token_parts'])
    request_token_key = credentials._request_token.key
    try:
        credentials.exchange_request_token_for_access_token(LPNET_WEB_ROOT)
    except Exception as e:
        return (False, None, False)
    user_agents[credentials.access_token.key] = LaunchpadClient(credentials)
    session['access_token_parts'] = {
        'oauth_token': credentials.access_token.key,
        'oauth_token_secret': credentials.access_token.secret,
        'lp.context': credentials.access_token.context
    }
    is_authorized = True
    session['is_authorized'] = is_authorized
    del session['request_token_parts']
    return (False, None, is_authorized)
        try:
            bug = queue.get_nowait()
            db.bugs[
                str(bug['target_name']).split('/')[0]
            ].update({"$and": [
                {'id': bug['id']},
                {'milestone': bug['milestone']}]}, bug, upsert=True)

        except Empty:
            if all([e.is_set() for e in stop_events]):
                break
            time.sleep(0.1)


if __name__ == "__main__":
    launchpad = LaunchpadClient()

    milestones = db.bugs.milestones
    db.bugs.drop_collection(milestones)

    projects = db.bugs.projects
    subprojects = db.bugs.subprojects

    mos = launchpad.get_project("mos")
    fuel = launchpad.get_project("fuel")

    milestones_list = launchpad.common_milestone(
        mos.active_milestones,
        fuel.active_milestones
    )
Example #6
0
                {"$and": [{
                    'id': bug['id']
                }, {
                    'milestone': bug['milestone']
                }]},
                bug,
                upsert=True)

        except Empty:
            if all([e.is_set() for e in stop_events]):
                break
            time.sleep(0.1)


if __name__ == "__main__":
    launchpad = LaunchpadClient()

    milestones = db.bugs.milestones
    db.bugs.drop_collection(milestones)

    projects = db.bugs.projects
    subprojects = db.bugs.subprojects

    mos = launchpad.get_project("mos")
    fuel = launchpad.get_project("fuel")

    milestones_list = launchpad.common_milestone(mos.active_milestones,
                                                 fuel.active_milestones)

    print("Creating milestones...")
    milestones.insert({"Milestone": milestones_list})