def gregister(): global reg_bool reg_bool = True if current_user.is_authenticated: return redirect(url_for('index')) access_token = session.get('access_token') if access_token is None: return redirect(url_for('login1')) access_token = access_token[0] headers = {'Authorization': 'OAuth ' + access_token} req = Request('https://www.googleapis.com/oauth2/v1/userinfo', None, headers) try: res = urlopen(req) res = res.read().decode('utf-8') res = json.loads(res) upic = res['picture'] uemail = res['email'] except URLError as e: if e.code == 401: # Unauthorized - bad token session.pop('access_token', None) return redirect(url_for('register')) return res.read() form = RegistrationForm() form.email.data = uemail if form.validate_on_submit(): user = User(username=form.username.data, email=form.email.data, password_hash=generate_password_hash(form.password.data), reg_date=datetime.utcnow(), upic=upic, usertype='U', about_me=form.username.data + "\'s about") user.save() gre_data = Gre_data(username=form.username.data) gre_data.save() flash('Congratulation, you are now a member of GRE-Web App!!') session.pop('access_token', None) return redirect(url_for('additional', username=form.username.data)) return render_template('register.html', title='Register', form=form)
def reset_request(): form = RequestResetForm() if form.validate_on_submit(): user = User.objects(email=form.email.data)[0] send_reset_email(user) flash( 'An email has been sent with instructions to reset your password', 'info') return redirect(url_for('login')) return render_template('reset_request.html', title='Reset Password', form=form)
def CheckValid(self,form): self.str = '' self.form = form self.user = User.objects(username=form.username.data) if len(self.user)== 0: self.str = "invalid" else: self.str = "proceed" self.strcheck = stringcheck() self.strcheck = self.strcheck.StrCheck(self.str,self.user,self.form) return self.strcheck
def specific_request(self,user): self.user = User(username=user.username, email=user.email, password_hash=user.password_hash,reg_date=user.reg_date, usertype=user.usertype, about_me=user.about_me) return self.user # class Adapter: # def Adapting(self,user): # self.user1 = User(username=user.username, # email=user.email, # password_hash=user.password_hash,reg_date=user.reg_date, usertype=user.usertype, # about_me=user.about_me) # return self.user1
def init_admin_db(): cntttt = [ "America", "Argentina", "Australia", "Bangladesh", "Brazil", "China", "England", "Honululu", "India", "Japan", "Nepal", "Pakistan", "Russia", "Sri Lanka", "Syria", "Uganda" ] pword = 'admin' user = User( username='******', email='*****@*****.**', password_hash=generate_password_hash(pword), country=cntttt[3], about_me="admin\'s about", age="20", reg_date=datetime.utcnow(), gender='Male', usertype='A' #for admin, it is 'A', for others, 'U' ) user.save() create_gre_test("admin", {}, datetime.utcnow(), 0, 0.0, 0.0, 0.0, "Bangladesh", [], [], []) create_user_word_history("admin") create_review_words("admin", [])
def reset_token(token): user = User.verify_reset_token(token) if user is None: flash('That is an invalid token') return redirect(url_for('reset_request')) form = ResetPasswordForm() if form.validate_on_submit(): user = user[0] password_hash = generate_password_hash(form.password.data) user = user.update(password_hash=password_hash) flash("Your password has been reset") return redirect(url_for('login')) return render_template('reset_token.html', title='Reset Password', form=form)
def user(username): user = User.objects(username=username) if (len(user) == 0): abort(404) else: user = user[0] if current_user.pic is not None: user.pic = url_for('static', filename='img/' + current_user.pic) posts = [{ 'author': user, 'body': 'Test post #1' }, { 'author': user, 'body': 'Test post #2' }] rate = RateRank.rating(username) try: rank, local = RateRank.ranking(current_user.country) for i in range(0, len(rank)): if rank[i][0] == current_user.username: rankindx = i + 1 break print(rankindx) for i in range(0, len(local)): if local[i][0] == current_user.username: locindx = i + 1 break print(locindx) except: rankindx = None locindx = None stat_data = Gre_data.objects(username=current_user.username) stat_data = stat_data[0] return render_template('user.html', user=user, posts=posts, rate=rate, rankindx=rankindx, locindx=locindx, stat_data=stat_data, title='Profile')
def ranking(self,ajax_var): self.str = '' col = db['gre_data'] curser = col.find({}) self.dict = {} self.dict1 = {} for i in curser: try: self.dict[i['_id']] = i['rating'] except: self.dict[i['_id']] = 0 self.user = User.objects(username=i['_id']) self.user = self.user[0] # if ajax_var is None or ajax_var == 'select country' or ajax_var == current_user.country: # if user.country == current_user.country: # try: # dict1[i['_id']] = i['rating'] # except: # dict1[i['_id']] = 0 # else: # if user.country == ajax_var: # try: # dict1[i['_id']] = i['rating'] # except: # dict1[i['_id']] = 0 if ajax_var is None or ajax_var == 'select country' or ajax_var == current_user.country: self.str = 'local' self.dict2 = LocalRank() self.dict2 = self.dict2.localrank(self.str, self.dict1, i, self.user, ajax_var) # dict2 = LocalNone() # dict2 = dict2.localnone(dict1,i,user) else: self.str = 'other' self.dict2 = LocalRank() self.dict2 = self.dict2.localrank(self.str,self.dict1, i, self.user, ajax_var) # dict2 = LocalCountry() # dict2 = dict2.localcountry(dict1,i,user,ajax_var) sorted_global = sorted(self.dict.items(), key=operator.itemgetter(1), reverse=True) sorted_local = sorted(self.dict2.items(), key=operator.itemgetter(1), reverse=True) # print(sorted_global,sorted_local) return sorted_global, sorted_local
def gsign(): global reg_bool reg_bool = False #access_token = session.get('access_token') if session.get('access_token') is None: print("access_token???") return redirect(url_for('login1')) access_token = session.get('access_token')[0] headers = {'Authorization': 'OAuth ' + access_token} req = Request('https://www.googleapis.com/oauth2/v1/userinfo', None, headers) print(headers) print(req) try: res = urlopen(req) res = res.read().decode('utf-8') res = json.loads(res) uemail = res['email'] except URLError as e: if e.code == 401: # Unauthorized - bad token session.pop('access_token', None) return redirect(url_for('login')) return res.read() user = User.objects(email=uemail) if len(user) == 0: print("painiiiii") session.pop('access_token', None) return redirect(url_for('login')) else: print("paiceeeeeeeeeeee") user = user[0] login_user(user) global next_gpage next_page = next_gpage if not next_page or url_parse(next_page).netloc != '': next_page = url_for('index') return redirect(next_page)
def __init__(self, username, form): self.user = User.objects(username=username) self.name = username self.form = form
def validate_email(self, email): user = User.objects(email=email.data) if user is None: raise ValidationError( 'There is no account with that email, You must register first.' )
def validate_email(self, email): user = User.objects(email=email.data) if len(user): raise ValidationError('Please use a different email address.')
def validate_username(self, username): user = User.objects(username=username.data) if len(user): raise ValidationError('Please use a different username.')