def get(self):
        authorization_code = self.request.get('code')
        state              = self.request.get('state')
        
        try:
            result             = urllib.urlopen('https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=%s&redirect_uri=%s&client_id=%s&client_secret=%s' %(authorization_code,Redirect_uri_entrepreneur,API_Key,Secret_Key))

            if result.code == 200 and state == State:
                token       = json.loads(result.read())  
                userprofile = urllib.urlopen('https://api.linkedin.com/v1/people/~:(id,first-name,last-name,public-profile-url,location:(name),summary,industry,positions,recommendations-received,skills:(id,skill),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),twitter-accounts,picture-url,email-address)?format=json&oauth2_access_token=%s' %(token['access_token']))
                userdata    = json.loads(userprofile.read())
                profilepic           = urllib.urlopen('https://api.linkedin.com/v1/people/~/picture-urls::(original)?format=json&oauth2_access_token=%s' %(token['access_token'])) 
                bigPic               = json.loads(profilepic.read())
                userdata["big_pic"]  = bigPic['values'][0]
                user  = populate.create_user(userdata, 'Entrepreneur')
                if user=='User already exists':
                    self.log_user_out()
                    self.render("/duplicate.html")
                else:
                    user_id = user.key().id()
                    self.log_user_in(str(user_id))
                    mail_status = mailhandler.requestMail(user)
                    notifyuser = mailhandler.notificationMail(user)
                    confirmation_msg  = "Your account has been successfully created and is pending approval"
                    self.log_user_out()
                    self.render('/success_entrepreneur.html')
            ########################################### need to send alert to admin for confirmation of new user ####################################################
            else:
                self.redirect("/home")         
        except:
            self.response.write("Something seems to have gone wrong.")
 def post(self):
     action = self.request.get('action')
     if action == "submit_application":
         user = ""
         try:
             user_data = json.loads(self.request.get('user_data'))
             user      = populate.create_user(user_data, "Mentor")
             if user=="User already exists":
                 self.log_user_out()
                 message  = json.dumps({"message":"error", "value":user})
                 self.response.write(message)
             else:
                 programUTF  = json.loads(self.request.get('program')) 
                 programJSON = jsonString.convert(programUTF)  
                 program     = populate.create_program(user, programJSON)
                 mail_status = mailhandler.requestMail(user)
                 notifyuser = mailhandler.notificationMail(user)
                 message     = json.dumps({"message":"success", "firstname":user.first_name, "lastname":user.last_name})
                 self.log_user_out()
                 self.response.write(message)
         except:
             populate.delete_user(user)
             self.log_user_out()
             message  = json.dumps({"message":"error", "value":"unknown"})
             self.response.write(message)