def githubCallback(): if 'code' not in request.args: return '', 500 # Fetch user from GitHub OAuth and store in session github = GitHub(GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET) access_token = github.get_token(request.args['code']) if access_token is None: flash('Could not authorize your request. Please try again.', 'danger') return '', 404 user = User.find_or_create_from_token(access_token) session['access_token'] = access_token session['user_id'] = user.id # Transfer tasks in session to user database if 'tasks' in session: for task in session['tasks']: user_id = session['user_id'] task_desc = task['description'] Task.add_task(task_desc, user_id) session.pop('tasks', None) return redirect(url_for('home.index'))
def star(): repo = request.form['full_name'] if not 'access_token' in session: flash('Please sign in with your GitHub account.', 'danger') return redirect(url_for('github.fetching')) github = GitHub(access_token=session['access_token']) github.delete('/user/starred/' + repo) return redirect(url_for('tutorial.fetching'))
def requesting(): search = request.args.get('query', '') if not 'access_token' in session: flash('You cannot post without an account.', 'danger') return render_template('index.html') github = GitHub(access_token=session['access_token']) results1 = github.get('/user/starred') results2 = github.get('/search/repositories', {'q': search}) results2 = results2.get('items', []) return render_template('tutorial/requesting.html', tutorial1=results1[:5], tutorial2=results2[:5], query=search)
def requesting(): search = request.args.get('query', '') if not 'access_token' in session: flash('This tutorial needs an authenticated user to make the request. Please sign in with your GitHub account.', 'danger') return render_template('tutorial/requesting.html') github = GitHub(access_token=session['access_token']) results1 = github.get('/user/starred') results2 = github.get('/search/repositories', { 'q': search } ) results2 = results2.get('items', []) return render_template('tutorial/requesting.html', tutorial1 = results1[:5], tutorial2 = results2[:5], query = search )
def githubCallback(): if 'code' not in request.args: return '', 500 # Fetch user from GitHub OAuth and store in session github = GitHub(GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET) access_token = github.get_token(request.args['code']) if access_token is None: flash('Could not authorize your request. Please try again.', 'danger') return '', 404 user = User.find_or_create_from_token(access_token) session['access_token'] = access_token session['user_id'] = user.id return redirect(url_for('home.index'))
def githubLogin(): github = GitHub(GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET) return redirect(github.authorization_url(scope='public_repo'))