def is_pr_approved()

in webhook-app/github_helper.py [0:0]


def is_pr_approved(pr):
    """True if the PR has been completely approved."""
    review_requests = get_pr_requested_reviewers(pr)

    if not len(review_requests):
        return True

    reviews = get_pr_reviews(pr)

    approved_users = [
        review['user']['login'] for review in reviews
        if review['state'] == 'APPROVED']

    requested_users = [user['login'] for user in review_requests]

    return set(approved_users) == set(requested_users)