Exemplo n.º 1
0
def callback_view():
  if request.args.get('state') == session.get('state'):
    code = request.args.get('code')
    user = GithubUser(code=code, client_id=constants.get('GH_CLIENT_ID'), secret=constants.get('GH_SECRET'))
    if user.is_valid():
      session['token'] = user.token
      org_verified = user.verify_org(constants.get('GH_ORG'))
      repo_verified = any([user.verify_repo(str(b.repo.id)) for b in bots.values()])
      if org_verified and repo_verified:
        flash('You are now logged in!', 'success')
        session['verified'] = True
      else:
        flash('You do not satisfy the authentication requirements!', 'danger')
        session['verified'] = False
        session['org_verified'] = org_verified
        session['repo_verified'] = repo_verified
        return redirect(url_for('no_auth_view'))
    else:
      flash('Your GitHub credentials are not valid!', 'danger')
      session['verified'] = False
  if session.get('object_key'):
    object_key = session.pop('object_key')
    return redirect(url_for('go_view', object_key=object_key))
  if session.get('next'):
    return redirect(session.pop('next'))
  return redirect(url_for('demo_view'))
Exemplo n.º 2
0
def callback_view():
    if request.args.get('state') == session.get('state'):
        code = request.args.get('code')
        user = GithubUser(code=code,
                          client_id=constants.get('GH_CLIENT_ID'),
                          secret=constants.get('GH_SECRET'))
        if user.is_valid():
            session['token'] = user.token
            org_verified = user.verify_org(constants.get('GH_ORG'))
            repo_verified = any(
                [user.verify_repo(str(b.repo.id)) for b in bots.values()])
            if org_verified and repo_verified:
                flash('You are now logged in!', 'success')
                session['verified'] = True
            else:
                flash('You do not satisfy the authentication requirements!',
                      'danger')
                session['verified'] = False
                session['org_verified'] = org_verified
                session['repo_verified'] = repo_verified
                return redirect(url_for('no_auth_view'))
        else:
            flash('Your GitHub credentials are not valid!', 'danger')
            session['verified'] = False
    if session.get('object_key'):
        object_key = session.pop('object_key')
        return redirect(url_for('go_view', object_key=object_key))
    if session.get('next'):
        return redirect(session.pop('next'))
    return redirect(url_for('demo_view'))
Exemplo n.º 3
0
def callback_view():
  if request.args.get('state') == session.get('state'):
    code = request.args.get('code')
    user = GithubUser(code=code, client_id=constants.get('GH_CLIENT_ID'), secret=constants.get('GH_SECRET'))
    if user.is_valid():
      session['token'] = user.token
      session['valid_paths'] = list(set(map(lambda x: x + '/', user.get_all_repo_names())).intersection(set(s3.get_all_repo_names())))
      session['verified'] = True
    else:
      flash('Your GitHub credentials are not valid!', 'danger')
      session['verified'] = False
  if session.get('object_key'):
    object_key = session.pop('object_key')
    return redirect(url_for('go_view', object_key=object_key))
  if session.get('next'):
    return redirect(session.pop('next'))
  return redirect(url_for('home_view'))
Exemplo n.º 4
0
def leaderboard_view():
    leaderboards = {
        r: s.all({'value.contribution': {
            '$exists': True
        }}, ('value.net_contribution', -1))
        for r, s in storages.iteritems()
    }
    return render_template('leaderboard.html', \
      org=constants.get('GH_ORG_NAME'), user=GithubUser(token=session.get('token')), all_langs=LANGS, \
      leaderboards=leaderboards)