def callback(self, return_to='/'): oauth_token = self.handler.request.get("oauth_token") if not oauth_token: return get_request_token() oauth_token = OAuthRequestToken.all().filter( 'oauth_token =', oauth_token).filter( 'service =', self.service).fetch(1)[0] token_info = self.get_data_from_signed_url( self.service_info['access_token_url'], oauth_token ) key_name = create_uuid() #logging.info('callback...') #logging.info('key: %s, service: %s', key_name, self.service) logging.info(token_info) logging.info(type(token_info)) self.token = OAuthAccessToken( key_name=key_name, service=self.service, **dict(token.split('=') for token in token_info.split('&')) ) if 'specifier_handler' in self.service_info: specifier = self.token.specifier = self.service_info['specifier_handler'](self) old = OAuthAccessToken.all().filter( 'specifier =', specifier).filter( 'service =', self.service) db.delete(old) logging.info(return_to) logging.info('specifier %s' % specifier) self.token.put() self.set_cookie(key_name) self.handler.redirect(return_to)