Esempio n. 1
0
 def callback(self):
     require.user.edit(c.user)
     if 'denied' in request.params:
         redirect(h.entity_url(c.user, member='edit'))
     request_token = session.get('request_token')
     if not request_token:
         h.flash(_("You have been logged out while authenticating "
                   "at twitter. Please try again."), 'notice')
         redirect(h.entity_url(c.user, member='edit'))
     request_token = oauth.OAuthToken.from_string(request_token)
     req_api = create_oauth(key=request_token.key,
                            secret=request_token.secret)
     access_token = req_api.getAccessToken()
     api = create_oauth(key=access_token.key, secret=access_token.secret)
     user_data = api.GetUserInfo()
     twitter = model.Twitter(int(user_data.id), c.user,
                             user_data.screen_name,
                             unicode(access_token.key),
                             unicode(access_token.secret))
     model.meta.Session.add(twitter)
     model.meta.Session.commit()
     try:
         # workaround to a hashing fuckup in oatuh
         api._FetchUrl("http://twitter.com/friendships/create.json",
                       post_data={'screen_name': system_user()},
                       no_cache=True)
         h.flash(_("You're now following %s on twitter so we "
                   + "can send you notifications as direct messages") %
                 system_user(),
                 'success')
     except HTTPError, he:
         log.warn(he.read())
Esempio n. 2
0
 def callback(self):
     require.user.edit(c.user)
     if 'denied' in request.params:
         redirect(h.entity_url(c.user, member='edit'))
     request_token = session.get('request_token')
     if not request_token:
         h.flash(_("You have been logged out while authenticating "
                   "at twitter. Please try again."), 'notice')
         redirect(h.entity_url(c.user, member='edit'))
     request_token = oauth.OAuthToken.from_string(request_token)
     req_api = create_oauth(key=request_token.key,
                            secret=request_token.secret)
     access_token = req_api.getAccessToken()
     api = create_oauth(key=access_token.key, secret=access_token.secret)
     user_data = api.GetUserInfo()
     twitter = model.Twitter(int(user_data.id), c.user,
                             user_data.screen_name,
                             unicode(access_token.key),
                             unicode(access_token.secret))
     model.meta.Session.add(twitter)
     model.meta.Session.commit()
     try:
         # workaround to a hashing fuckup in oatuh
         api._FetchUrl("http://twitter.com/friendships/create.json",
                       post_data={'screen_name': system_user()},
                       no_cache=True)
         h.flash(_("You're now following %s on twitter so we "
                   + "can send you notifications as direct messages") %
                 system_user(),
                 'success')
     except HTTPError, he:
         log.warn(he.read())
Esempio n. 3
0
 def init(self):
     require.user.edit(c.user)
     api = create_oauth()
     request_token = api.getRequestToken()
     session['request_token'] = request_token.to_string()
     session.save()
     redirect(api.getAuthorizationURL(request_token))
Esempio n. 4
0
 def init(self):
     require.user.edit(c.user)
     api = create_oauth()
     request_token = api.getRequestToken()
     session['request_token'] = request_token.to_string()
     session.save()
     redirect(api.getAuthorizationURL(request_token))