def google_callback(resp): access_token = resp['access_token'] session['access_token'] = access_token, '' if access_token: r = requests.get('https://www.googleapis.com/oauth2/v1/userinfo', headers={'Authorization': 'OAuth ' + access_token}) subscriptions = requests.get( 'http://www.google.com/reader/api/0/subscription/list', headers={'Authorization': 'OAuth ' + access_token}) import pprint pprint.pprint(subscriptions) if r.ok: data = loads(r.text) oauth_id = data['id'] user = User.load(oauth_id) or User.add(**data) login_user(user) if subscriptions.ok: # outline = opml.parse(subscriptions.text) from lxml import etree root = etree.XML(subscriptions.text) subs = [asd.text for asd in root.xpath('//string["title"]')] next_url = session.get('next') or url_for('index', subs=subs) else: next_url = session.get('next') or url_for('index') return redirect(next_url) return redirect(url_for('login'))
def google_callback(resp): access_token = resp['access_token'] session['access_token'] = access_token, '' if access_token: r = requests.get('https://www.googleapis.com/oauth2/v1/userinfo', headers={'Authorization': 'OAuth ' + access_token}) subscriptions = requests.get('http://www.google.com/reader/api/0/subscription/list', headers={'Authorization': 'OAuth ' + access_token}) import pprint;pprint.pprint(subscriptions) if r.ok: data = loads(r.text) oauth_id = data['id'] user = User.load(oauth_id) or User.add(**data) login_user(user) if subscriptions.ok: # outline = opml.parse(subscriptions.text) from lxml import etree root = etree.XML(subscriptions.text) subs = [asd.text for asd in root.xpath('//string["title"]')] next_url = session.get('next') or url_for('index', subs=subs) else: next_url = session.get('next') or url_for('index') return redirect(next_url) return redirect(url_for('login'))
def google_callback(resp): access_token = resp['access_token'] session['access_token'] = access_token, '' if access_token: r = requests.get('https://www.googleapis.com/oauth2/v1/userinfo', headers={'Authorization': 'OAuth ' + access_token}) if r.ok: data = loads(r.text) oauth_id = data['id'] user = User.load(oauth_id) or User.add(**data) login_user(user) next_url = session.get('next') or url_for('index') return redirect(next_url) return redirect(url_for('login'))
def oauth_authorized(resp): if not resp: flash('Access denied. Reason: {0} Error: {1}'.format(request.args['error_reason'], request.args['error_description']), 'danger') return redirect('/') session['oauth_token'] = (resp['access_token'], '') me = facebook.get('/me') user = User.load(me.data['id']) or User(email=me.data['email'], oauth_id=me.data['id'], token=resp['access_token']) user.token = resp['access_token'] if not user.id: Task(title='Task 1', text='Task 1 text', priority=TaskPriority.MEDIUM, status=TaskStatus.PENDING, created=datetime.now(), user=user) dbsession.add(user) dbsession.commit() login_user(user) flash('Logged in as {0}'.format(me.data['email']), 'success') return redirect(session.get('next') or '/')
def load_user(user_id): return User.load(user_id)