コード例 #1
0
ファイル: xmpp.py プロジェクト: galuano1/twitalkerplus
 def func_bind(self, args, oauth_token=None):
     if len(args) == 1 and args[0].isalnum():
         jid = self._google_user.jid
         if oauth_token is None:
             twitter_user = TwitterUser.get_by_twitter_name(None, jid)
             if twitter_user is None:
                 return _("INVALID_PIN_CODE") % ""
             oauth_token = twitter_user.access_token_key
         token = oauth.Token(oauth_token)
         token.set_verifier(args[0].encode("UTF8"))
         consumer = oauth.Consumer(config.OAUTH_CONSUMER_KEY, config.OAUTH_CONSUMER_SECRET)
         client = oauth.Client(consumer, token)
         resp = client.request(twitter.ACCESS_TOKEN_URL, "POST")
         if not resp:
             return _("NETWORK_ERROR")
         access_token = dict(cgi.parse_qsl(resp))
         if "oauth_token" not in access_token:
             return _("INVALID_PIN_CODE") % args[0]
         if oauth_token is None:
             twitter_user.delete()
         TwitterUser.add(
             jid, access_token["oauth_token"], access_token["oauth_token_secret"], access_token["screen_name"]
         )
         if self._google_user.enabled_user == "":
             self._google_user.enabled_user = access_token["screen_name"]
         if IdList.get_by_jid(jid, self._google_user.shard) is None:
             IdList.add(jid, self._google_user.shard)
         return _("SUCCESSFULLY_BIND") % access_token["screen_name"]
     else:
         raise NotImplementedError
コード例 #2
0
 def func_bind(self, args, oauth_token=None):
     if len(args) == 1 and args[0].isalnum():
         jid = self._google_user.jid
         if oauth_token is None:
             twitter_user = TwitterUser.get_by_twitter_name(None, jid)
             if twitter_user is None:
                 return _('INVALID_PIN_CODE') % ''
             oauth_token = twitter_user.access_token_key
         token = oauth.Token(oauth_token)
         token.set_verifier(args[0].encode('UTF8'))
         consumer = oauth.Consumer(config.OAUTH_CONSUMER_KEY,
                                   config.OAUTH_CONSUMER_SECRET)
         client = oauth.Client(consumer, token)
         resp = client.request(twitter.ACCESS_TOKEN_URL, "POST")
         if not resp:
             return _('NETWORK_ERROR')
         access_token = dict(cgi.parse_qsl(resp))
         if 'oauth_token' not in access_token:
             return _('INVALID_PIN_CODE') % args[0]
         if oauth_token is None:
             twitter_user.delete()
         TwitterUser.add(jid, access_token['oauth_token'],
                         access_token['oauth_token_secret'],
                         access_token['screen_name'])
         if self._google_user.enabled_user == '':
             self._google_user.enabled_user = access_token['screen_name']
         if IdList.get_by_jid(jid, self._google_user.shard) is None:
             IdList.add(jid, self._google_user.shard)
         return _('SUCCESSFULLY_BIND') % access_token['screen_name']
     else:
         raise NotImplementedError
コード例 #3
0
ファイル: xmpp.py プロジェクト: denyany/twitalkerplus
 def func_bind(self, args, oauth_token=None):
   if len(args) == 1 and args[0].isdigit():
     twitter_user = None
     if oauth_token is None:
       twitter_user = TwitterUser.get_by_twitter_name(None, self._google_user.jid)
       if twitter_user is None:
         return _('INVALID_PIN_CODE') % ''
       oauth_token = twitter_user.access_token_key
     token = oauth.Token(oauth_token)
     if type(args[0]) != unicode:
       args[0] = args[0].encode('UTF8')
     token.set_verifier(args[0])
     consumer = oauth.Consumer(config.OAUTH_CONSUMER_KEY, config.OAUTH_CONSUMER_SECRET)
     client = oauth.Client(consumer, token)
     resp = client.request(twitter.ACCESS_TOKEN_URL, "POST")
     if not resp:
       return _('NETWORK_ERROR')
     access_token = dict(cgi.parse_qsl(resp))
     if 'oauth_token' not in access_token:
       return _('INVALID_PIN_CODE') % args[0]
     if twitter_user is not None:
       twitter_user.delete()
     TwitterUser.add(self._google_user.jid, access_token['oauth_token'], access_token['oauth_token_secret'],
                     access_token['screen_name'])
     if self._google_user.enabled_user == '':
       self._google_user.enabled_user = access_token['screen_name']
     if IdList.get_by_jid(self._google_user.jid, self._google_user.shard) is None:
       IdList.add(self._google_user.jid, self._google_user.shard)
     return _('SUCCESSFULLY_BIND') % access_token['screen_name']
   else:
     raise NotImplementedError