def post(self,*args,**kwargs): #RESTRICTED try: #check token facebook_token = kwargs.get('remoteToken',None) # user = levr.Customer.all().filter('facebook_id',facebook_id).get() user = social.Facebook(None,'verbose',facebook_token=facebook_token) try: new_user, new_user_details, new_friends = user.first_time_connect( facebook_token = facebook_token, ) except Exception,e: levr.log_error() assert False, 'Could not connect with facebook.' #return the user response = { 'user':api_utils.package_user(new_user,True,send_token=True), 'new_friends' : [enc.encrypt_key(f) for f in new_friends], 'new_user_details' : new_user_details } try: levr.text_notify(new_user.display_name + 'from Facebook') except: levr.log_error() api_utils.send_response(self,response,new_user)
def post(self, *args, **kwargs): #RESTRICTED try: #check token facebook_token = kwargs.get('remoteToken', None) # user = levr.Customer.all().filter('facebook_id',facebook_id).get() user = social.Facebook(None, 'verbose', facebook_token=facebook_token) try: new_user, new_user_details, new_friends = user.first_time_connect( facebook_token=facebook_token, ) except Exception, e: levr.log_error() assert False, 'Could not connect with facebook.' #return the user response = { 'user': api_utils.package_user(new_user, True, send_token=True), 'new_friends': [enc.encrypt_key(f) for f in new_friends], 'new_user_details': new_user_details } try: levr.text_notify(new_user.display_name + 'from Facebook') except: levr.log_error() api_utils.send_response(self, response, new_user)
def post(self,*args,**kwargs): try: twitter_id = kwargs.get('remoteID',None) twitter_token = kwargs.get('remoteToken',None) twitter_token_secret = kwargs.get('remoteTokenSecret',None) logging.debug('\n\n{}\n{}\n{}\n\n'.format( twitter_id, twitter_token, twitter_token_secret ) ) user = levr.Customer.all().filter('twitter_id',twitter_id).get() logging.debug(user) if user: #fallback to login logging.debug('User exists!') response = { 'user':api_utils.package_user(user,True,send_token=True) } else: #create new user user = social.Twitter( twitter_id = twitter_id ) try: user, new_user_details, new_friends = user.first_time_connect( twitter_id = twitter_id, twitter_token = twitter_token, twitter_token_secret = twitter_token_secret ) except Exception,e: levr.log_error() assert False, 'Could not connect with twitter. '.format('') #return the user response = { 'user':api_utils.package_user(user,True,send_token=True), 'new_friends' : [enc.encrypt_key(f) for f in new_friends], 'new_user_details' : new_user_details } try: if user.display_name == 'Jason K.': from google.appengine.api import mail mail.send_mail(sender="*****@*****.**", to="*****@*****.**", subject="Signup", body='Jason signed up') else: levr.text_notify(user.display_name+' from Twitter!') except: levr.log_error() api_utils.send_response(self,response,user)
def post(self, *args, **kwargs): try: twitter_id = kwargs.get('remoteID', None) twitter_token = kwargs.get('remoteToken', None) twitter_token_secret = kwargs.get('remoteTokenSecret', None) logging.debug('\n\n{}\n{}\n{}\n\n'.format(twitter_id, twitter_token, twitter_token_secret)) user = levr.Customer.all().filter('twitter_id', twitter_id).get() logging.debug(user) if user: #fallback to login logging.debug('User exists!') response = { 'user': api_utils.package_user(user, True, send_token=True) } else: #create new user user = social.Twitter(twitter_id=twitter_id) try: user, new_user_details, new_friends = user.first_time_connect( twitter_id=twitter_id, twitter_token=twitter_token, twitter_token_secret=twitter_token_secret) except Exception, e: levr.log_error() assert False, 'Could not connect with twitter. '.format('') #return the user response = { 'user': api_utils.package_user(user, True, send_token=True), 'new_friends': [enc.encrypt_key(f) for f in new_friends], 'new_user_details': new_user_details } try: if user.display_name == 'Jason K.': from google.appengine.api import mail mail.send_mail(sender="*****@*****.**", to="*****@*****.**", subject="Signup", body='Jason signed up') else: levr.text_notify(user.display_name + ' from Twitter!') except: levr.log_error() api_utils.send_response(self, response, user)
def post(self,*args,**kwargs): #RESTRICTED try: logging.debug(kwargs) email = kwargs.get('email',None) alias = kwargs.get('alias',None) pw = kwargs.get('pw',None) '''Check availability of username+pass, create and login if not taken''' #check availabilities r_email = levr.Customer.gql('WHERE email = :1',email).get() r_alias = levr.Customer.gql('WHERE alias = :1',alias).get() #if taken, send error if r_email: api_utils.send_error(self,'That email is already registered.') return if r_alias: api_utils.send_error(self,'That alias is already registered.') return #still here? create a customer, then. user = levr.create_new_user( email=email, alias=alias, pw=enc.encrypt_password(pw)) #put and reply #create or refresh the alias user = levr.build_display_name(user) try: levr.text_notify(user.display_name+' from Levr!') except: levr.log_error() #put and reply user.put() response = {'user':api_utils.package_user(user,True,send_token=True)} api_utils.send_response(self,response,user) except: levr.log_error() api_utils.send_error(self,'Server Error')
def post(self, *args, **kwargs): #RESTRICTED try: logging.debug(kwargs) email = kwargs.get('email', None) alias = kwargs.get('alias', None) pw = kwargs.get('pw', None) '''Check availability of username+pass, create and login if not taken''' #check availabilities r_email = levr.Customer.gql('WHERE email = :1', email).get() r_alias = levr.Customer.gql('WHERE alias = :1', alias).get() #if taken, send error if r_email: api_utils.send_error(self, 'That email is already registered.') return if r_alias: api_utils.send_error(self, 'That alias is already registered.') return #still here? create a customer, then. user = levr.create_new_user(email=email, alias=alias, pw=enc.encrypt_password(pw)) #put and reply #create or refresh the alias user = levr.build_display_name(user) try: levr.text_notify(user.display_name + ' from Levr!') except: levr.log_error() #put and reply user.put() response = { 'user': api_utils.package_user(user, True, send_token=True) } api_utils.send_response(self, response, user) except: levr.log_error() api_utils.send_error(self, 'Server Error')
def post(self,*args,**kwargs): try: #check token foursquare_token = kwargs.get('remoteToken',None) user = levr.Customer.all().filter('foursquare_token',foursquare_token).get() if user: #fallback to login response = { 'user':api_utils.package_user(user,True,send_token=True) } else: #=============================================================== # NOTE: there is a remote chance that the users foursquare oauth_token would change. # this would not recognize that #=============================================================== try: #create new user user = social.Foursquare( foursquare_token = foursquare_token ) user, new_user_details, new_friends = user.first_time_connect( foursquare_token = foursquare_token, ) except Exception,e: levr.log_error() assert False, 'Could not connect with foursquare. '.format('') #return the user response = { 'user':api_utils.package_user(user,True,send_token=True), 'new_friends' : [enc.encrypt_key(f) for f in new_friends], 'new_user_details' : new_user_details } try: levr.text_notify(user.display_name+' from Foursquare!') except: levr.log_error() api_utils.send_response(self,response,user)
def post(self, *args, **kwargs): try: #check token foursquare_token = kwargs.get('remoteToken', None) user = levr.Customer.all().filter('foursquare_token', foursquare_token).get() if user: #fallback to login response = { 'user': api_utils.package_user(user, True, send_token=True) } else: #=============================================================== # NOTE: there is a remote chance that the users foursquare oauth_token would change. # this would not recognize that #=============================================================== try: #create new user user = social.Foursquare(foursquare_token=foursquare_token) user, new_user_details, new_friends = user.first_time_connect( foursquare_token=foursquare_token, ) except Exception, e: levr.log_error() assert False, 'Could not connect with foursquare. '.format( '') #return the user response = { 'user': api_utils.package_user(user, True, send_token=True), 'new_friends': [enc.encrypt_key(f) for f in new_friends], 'new_user_details': new_user_details } try: levr.text_notify(user.display_name + ' from Foursquare!') except: levr.log_error() api_utils.send_response(self, response, user)
def get(self): try: logging.debug('Hit the Authorize Complete Handler') client_id = 'UNHLIF5EYXSKLX50DASZ2PQBGE2HDOIK5GXBWCIRC55NMQ4C' secret = 'VLKDNIT0XSA5FK3XIO05DAWVDVOXTSUHPE4H4WOHNIZV14G3' redirect = 'https://levr-production.appspot.com/foursquare/authorize/complete' try: logging.info(levr.log_dir(self.request)) except: logging.info(self.request) code = self.request.get('code', None) #if no code was passed, then the authorization is happening through the phone. NO_CODE_MESSAGE = 'Code was not passed. Authorization is happening on phone.' assert code, NO_CODE_MESSAGE logging.info(code) #make request for token url = "https://foursquare.com/oauth2/access_token?client_id=" + client_id + "&client_secret=" + secret + "&grant_type=authorization_code&redirect_uri=" + redirect + "&code=" + code result = urlfetch.fetch(url=url) logging.debug(result.content) foursquare_token = json.loads(result.content)['access_token'] logging.info(foursquare_token) # #grab more user details # url = 'https://api.foursquare.com/v2/users/self?v=20120920&oauth_token='+token # result = urlfetch.fetch(url=url) # response_dict = json.loads(result.content) # # logging.debug(levr.log_dict(response_dict)) #let the foursquare parsing code do its thing user = social.Foursquare(foursquare_token=foursquare_token) user, new_details, new_friends = user.first_time_connect( foursquare_token=foursquare_token) # user.connect_with_content(response_dict,True,foursquare_token=token) logging.debug(levr.log_model_props(user)) logging.debug(levr.log_dict(new_details)) logging.debug(levr.log_dict(new_friends)) #send the founders a text levr.text_notify(user.first_name + ' ' + user.last_name + ' from foursquare') #launch the jinja environment jinja_environment = jinja2.Environment( loader=jinja2.FileSystemLoader(os.path.dirname(__file__))) #set up the jinja template and echo out template = jinja_environment.get_template('templates/landing.html') self.response.out.write(template.render()) logging.debug(levr.log_dict(user)) except AssertionError, e: if e.message == NO_CODE_MESSAGE: #this is an expected case. Authorization is happening on the phone self.response.out.write('Please wait...') else: levr.log_error(e) self.response.out.write('Could not connect with Foursquare.')
def get(self): try: logging.debug('Hit the Authorize Complete Handler') client_id = facebook_auth['client_id'] client_secret = facebook_auth['client_secret'] #======================================================================= # Fetch access_token from facebook #======================================================================= #check for error error = self.request.get('error',None) assert error == None, 'User denied request' state = self.request.get('state',None) code = self.request.get('code',None) logging.debug(state) logging.debug(code) redirect_uri = 'http://levr-production.appspot.com/facebook/authorize/complete' url = 'https://graph.facebook.com/oauth/access_token?client_id={client_id}&redirect_uri={redirect_uri}&client_secret={client_secret}&code={code}'.format( client_id= client_id, redirect_uri= redirect_uri, client_secret= client_secret, code= code) # Fetch the access token from facebook result = urlfetch.fetch(url=url) logging.debug(result.content) logging.debug(type(result.content)) logging.debug(levr.log_dir(result.content)) facebook_token = result.content.split('&')[0].split('=')[1] logging.debug(facebook_token) #======================================================================= # Create User and connect them with levr #======================================================================= #wrap the user in the social class - creates new user if user doesnt exist user = social.Facebook(facebook_token=facebook_token) user,new_details,new_friends = user.first_time_connect(facebook_token=facebook_token) logging.debug(levr.log_model_props(user)) logging.debug(levr.log_dict(new_details)) logging.debug(levr.log_dict(new_friends)) try: logging.debug(user.display_name) logging.debug(user.first_name) logging.debug(user.last_name) logging.debug(user.facebook_id) except: levr.log_error() #send the founders a text levr.text_notify(user.first_name + ' ' + user.last_name + ' from facebook') #set up the jinja template and echo out # template = jinja_environment.get_template('templates/deal.html') # self.response.out.write(template.render(template_values)) self.response.out.write('Hooray! you are connected with levr!') logging.debug(levr.log_dict(user)) except: levr.log_error() self.response.out.write('Could not connect with Facebook')
def get(self): try: logging.debug('Hit the Authorize Complete Handler') client_id = facebook_auth['client_id'] client_secret = facebook_auth['client_secret'] #======================================================================= # Fetch access_token from facebook #======================================================================= #check for error error = self.request.get('error', None) assert error == None, 'User denied request' state = self.request.get('state', None) code = self.request.get('code', None) logging.debug(state) logging.debug(code) redirect_uri = 'http://levr-production.appspot.com/facebook/authorize/complete' url = 'https://graph.facebook.com/oauth/access_token?client_id={client_id}&redirect_uri={redirect_uri}&client_secret={client_secret}&code={code}'.format( client_id=client_id, redirect_uri=redirect_uri, client_secret=client_secret, code=code) # Fetch the access token from facebook result = urlfetch.fetch(url=url) logging.debug(result.content) logging.debug(type(result.content)) logging.debug(levr.log_dir(result.content)) facebook_token = result.content.split('&')[0].split('=')[1] logging.debug(facebook_token) #======================================================================= # Create User and connect them with levr #======================================================================= #wrap the user in the social class - creates new user if user doesnt exist user = social.Facebook(facebook_token=facebook_token) user, new_details, new_friends = user.first_time_connect( facebook_token=facebook_token) logging.debug(levr.log_model_props(user)) logging.debug(levr.log_dict(new_details)) logging.debug(levr.log_dict(new_friends)) try: logging.debug(user.display_name) logging.debug(user.first_name) logging.debug(user.last_name) logging.debug(user.facebook_id) except: levr.log_error() #send the founders a text levr.text_notify(user.first_name + ' ' + user.last_name + ' from facebook') #set up the jinja template and echo out # template = jinja_environment.get_template('templates/deal.html') # self.response.out.write(template.render(template_values)) self.response.out.write('Hooray! you are connected with levr!') logging.debug(levr.log_dict(user)) except: levr.log_error() self.response.out.write('Could not connect with Facebook')
def get(self): try: logging.debug('Hit the Authorize Complete Handler') client_id = 'UNHLIF5EYXSKLX50DASZ2PQBGE2HDOIK5GXBWCIRC55NMQ4C' secret = 'VLKDNIT0XSA5FK3XIO05DAWVDVOXTSUHPE4H4WOHNIZV14G3' redirect = 'https://levr-production.appspot.com/foursquare/authorize/complete' try: logging.info(levr.log_dir(self.request)) except: logging.info(self.request) code = self.request.get('code',None) #if no code was passed, then the authorization is happening through the phone. NO_CODE_MESSAGE = 'Code was not passed. Authorization is happening on phone.' assert code, NO_CODE_MESSAGE logging.info(code) #make request for token url = "https://foursquare.com/oauth2/access_token?client_id="+client_id+"&client_secret="+secret+"&grant_type=authorization_code&redirect_uri="+redirect+"&code="+code result = urlfetch.fetch(url=url) logging.debug(result.content) foursquare_token = json.loads(result.content)['access_token'] logging.info(foursquare_token) # #grab more user details # url = 'https://api.foursquare.com/v2/users/self?v=20120920&oauth_token='+token # result = urlfetch.fetch(url=url) # response_dict = json.loads(result.content) # # logging.debug(levr.log_dict(response_dict)) #let the foursquare parsing code do its thing user = social.Foursquare(foursquare_token=foursquare_token) user,new_details,new_friends = user.first_time_connect( foursquare_token = foursquare_token ) # user.connect_with_content(response_dict,True,foursquare_token=token) logging.debug(levr.log_model_props(user)) logging.debug(levr.log_dict(new_details)) logging.debug(levr.log_dict(new_friends)) #send the founders a text levr.text_notify(user.first_name + ' ' + user.last_name + ' from foursquare') #launch the jinja environment jinja_environment = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__))) #set up the jinja template and echo out template = jinja_environment.get_template('templates/landing.html') self.response.out.write(template.render()) logging.debug(levr.log_dict(user)) except AssertionError,e: if e.message == NO_CODE_MESSAGE: #this is an expected case. Authorization is happening on the phone self.response.out.write('Please wait...') else: levr.log_error(e) self.response.out.write('Could not connect with Foursquare.')