Example #1
0
    def post(self):
        user = users.get_current_user()
        uid = user.user_id()
        crud = ProfileCrud(uid)

        # Create Gravatar URL - http://blog.gravatar.com/2008/01/17/gravatars-in-python-25/
        default_avatar = "https://ae-baseapp.appspot.com/static/images/avatar.png"
        avatar_size = 64
        avatar_email = self.request.get('email')
        gravatar_url = "https://secure.gravatar.com/avatar.php?"
        gravatar_url += urllib.urlencode({
            'gravatar_id':
            hashlib.md5(avatar_email.lower()).hexdigest(),
            'default':
            default_avatar,
            'size':
            str(avatar_size),
            'r':
            'pg'
        })

        # Create or Update the profile
        is_valid = crud.update_profile(
            user_name=self.request.get('user_name'),
            first_name=self.request.get('first_name'),
            last_name=self.request.get('last_name'),
            email=self.request.get('email'),
            avatar=gravatar_url,
            time_zone=self.request.get('time_zone'),
            last_ip=self.request.remote_addr)
        logging.info("is_valid: " + is_valid)
        if is_valid != "OK":
            self.abort(500)

        #  Check if user has created a profile if not Generate Validation Code
        #  and Send out Validation Email
        if not crud.is_validated():
            validation_code = str(uuid.uuid4())
            #  TODO: Update validation_link to use coded domain
            validation_link = "https://ae-python.appspot.com/verify?" + validation_code
            email_values = {
                'first_name': self.request.get('first_name'),
                'validation_link': validation_link
            }
            address = self.request.get('email')
            send_verification(self, email_values, validation_link, address)
            #  Store Validation Information in Datastore
            save_validation_code(self, uid, validation_code)

        #  Send the user back home after saving the profile
        self.redirect('/')
Example #2
0
    def post(self):
        user = users.get_current_user()
        uid = user.user_id()
        crud = ProfileCrud(uid)

        # Create Gravatar URL - http://blog.gravatar.com/2008/01/17/gravatars-in-python-25/
        default_avatar = "https://ae-baseapp.appspot.com/static/images/avatar.png"
        avatar_size = 64
        avatar_email = self.request.get('email')
        gravatar_url = "https://secure.gravatar.com/avatar.php?"
        gravatar_url += urllib.urlencode({'gravatar_id':hashlib.md5(
            avatar_email.lower()).hexdigest(), 'default':default_avatar,
            'size':str(avatar_size), 'r':'pg'})

        # Create or Update the profile
        is_valid = crud.update_profile(user_name=self.request.get('user_name'),
                            first_name=self.request.get('first_name'),
                            last_name=self.request.get('last_name'),
                            email=self.request.get('email'),
                            avatar=gravatar_url,
                            time_zone=self.request.get('time_zone'),
                            last_ip=self.request.remote_addr)
        logging.info("is_valid: " + is_valid)
        if is_valid != "OK":
            self.abort(500)

        #  Check if user has created a profile if not Generate Validation Code
        #  and Send out Validation Email
        if not crud.is_validated():
            validation_code = str(uuid.uuid4())
            #  TODO: Update validation_link to use coded domain
            validation_link = "https://ae-python.appspot.com/verify?" + validation_code
            email_values = {'first_name': self.request.get('first_name'),
                            'validation_link': validation_link}
            address = self.request.get('email')
            send_verification(self, email_values, validation_link, address)
            #  Store Validation Information in Datastore
            save_validation_code(self, uid, validation_code)

        #  Send the user back home after saving the profile
        self.redirect('/')