Exemple #1
0
def before_request():
    from travispy import TravisPy
    from database import users

    g.user = None
    g.travispy = None

    if 'user_id' in session:
        g.user = users.find_one({'_id': ObjectId(session['user_id'])})

    if g.user is not None:
        g.travispy = TravisPy.github_auth(g.user['github_access_token'])
Exemple #2
0
def authorized(access_token):
    from database import users

    next_url = request.args.get('next') or url_for('index')
    if access_token is None:
        return redirect(next_url)

    user = users.find_one({'github_access_token': access_token})
    if user is None:
        user = {'github_access_token': access_token}
        user_id = users.insert(user)
    else:
        user_id = user['_id']

    session['user_id'] = str(user_id)
    return redirect(url_for('index'))
Exemple #3
0
def run_newest_build(user_id, repo_id):
    '''
    Method responsible for restarting newest build for the given repo_id.
    Given user_id must have access to the repository.
    '''
    from database import users, jobs

    user_id = ObjectId(user_id)
    user = users.find_one({'_id': user_id})
    travispy = TravisPy.github_auth(user['github_access_token'])

    # When GitHub token is invalid user and jobs created under such token will be removed.
    if travispy is None:
        for job in jobs.find({'user_id': user_id, 'repo_id': repo_id}):
            remove_job(str(job['_id']))
        users.remove(user_id)
        return

    # Run newest build.
    builds = travispy.builds(repository_id=repo_id)
    if builds:
        builds[0].restart()
Exemple #4
0
def get_user_by_email(email):
    return users.find_one({"email": email})
Exemple #5
0
def has_perm(user, perm):
  user = users.find_one({"name":user})
  return perm in user.perms
Exemple #6
0
def get_perms(username):
  return users.find_one({"username":user})["perms"]