Ejemplo n.º 1
0
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'))
Ejemplo n.º 2
0
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')) 
Ejemplo n.º 3
0
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'))
Ejemplo n.º 4
0
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')) 
Ejemplo n.º 5
0
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 '/')
Ejemplo n.º 6
0
def load_user(user_id):
    return User.load(user_id)
Ejemplo n.º 7
0
def load_user(user_id):
    return User.load(user_id)