def wait_for_register(): user = get_current_linkedin_user() print 'Current linkedin id' + str(get_linkedin_id()) if not user: return "Not authenticated" times_left = 100 while not user.is_registered and times_left >= 0: times_left -= 1 # this is to make sure this doesn't become an infinite loop time.sleep(5) db.session.commit() # Retarded way to start a new transaction because F**K sqlalchemy... user = get_current_linkedin_user() print ' is registered? ' + str(user.linkedin_id) + ' name ' + str(user.name) + ' ----> ' + str(user.is_registered) time.sleep(5) # so some startups can load in the feed resp = json.dumps({'is_registered': user.is_registered}) print 'wait_for_register is about to return a response = ' + str(resp) return resp
def register(): print 'DAFUK....' @async @copy_current_request_context def fetch_and_populate_current_user_from_linkedin_async(db): fetch_and_populate_current_user_from_linkedin(db) # TODO better error handling.. what's the way to do it? if 'user_id' in session: print 'User already exists and logged in...' return redirect(url_for('index')) user = get_current_linkedin_user() if user and user.is_registered: print 'User already exists and is registered...' return redirect(url_for('index')) if not get_linkedin_oauth_token(): print 'User not logged in...' return redirect(url_for('index')) if not user: print 'creating hollow user with linkedin_id = ' + str(get_linkedin_id()) user = User(get_linkedin_id()) db.session.add(user) db.session.commit() log_event(session.get('user_id'), 'register', {'ip': request.remote_addr}) fetch_and_populate_current_user_from_linkedin_async(db) print 'F*****G DONE' return render_template('loading.html', current_user=user)
def login_callback(): user = get_current_linkedin_user() if not user or not user.is_registered: return redirect(url_for('register')) if not user.last_login: show_intro = "intro" else: show_intro = None user.last_login = get_datetime() db.session.commit() session['user_id'] = user.id return redirect(url_for('feed', show_intro=show_intro))
def _test_register_page(): user = get_current_linkedin_user() return render_template('loading.html', current_user=user)