Example #1
0
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)
Example #2
0
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)
Example #3
0
    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
Example #5
0
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", [])
Example #6
0
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)
Example #7
0
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')
Example #8
0
    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
Example #9
0
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
Example #11
0
 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.'
         )
Example #12
0
 def validate_email(self, email):
     user = User.objects(email=email.data)
     if len(user):
         raise ValidationError('Please use a different email address.')
Example #13
0
 def validate_username(self, username):
     user = User.objects(username=username.data)
     if len(user):
         raise ValidationError('Please use a different username.')