def add_to_cart(id): """Add a melon to cart and redirect to shopping cart page. When a melon is added to the cart, redirect browser to the shopping cart page and display a confirmation message: 'Successfully added to cart'. """ order = model.Melon.get_by_id(id) if order: if str(id) in session: session[str(order.id)] = [ order.common_name, order.price, session[str(order.id)][2] + 1, session[str(order.id)][3] + order.price ] print "TRYING TO FIGURE THIS OUT: ", session[str(order.id)][2] else: session[str( order.id)] = [order.common_name, order.price, 1, order.price] # order = {key:session[key]for key in session if key != 'logged_in_customer_email'} order = session.values() total = 0 for item in order: total = total + item[3] return render_template('cart.html', order=order, total=total)
def houser_infomation(): if request.method == "GET": users_id = request.cookies.get("users_id") session_users_name = session.get(users_id, None) print({request.cookies.values()}, {users_id}, {session_users_name}, {session.values()}) if session_users_name == None: return redirect("/login") else: sql = '''select * from users_infomation_json where users_name = %s''' search_users_infomation_json_result = sqL_Manager_tool.search( sql, [session_users_name]) users_show_infomation_json = { "users_name": 'None', "users_phone": 'None', "users_city": 'None', "users_email": 'None', } if search_users_infomation_json_result != (): users_infomation_json = search_users_infomation_json_result[0][ 2] users_show_infomation_json = json.loads(users_infomation_json) return render_template("Houser_center/hosuer_infomation.html", session_users_name=session_users_name, user_info=users_show_infomation_json) elif request.method == "POST": pass
def enroll(): print(session.keys(), session.values()) if session.get('user_id') == None: return redirect(url_for('login')) current_user = session['user_id'] user_name = session.get('user_name') title = request.form.get('title') id = request.form.get('id') print(id, current_user) term = request.form.get('term') data = [] if id: classes = Enrollment.objects(user_id=current_user, courseID=id).first() if classes: #stopping duplicate enrollings flash(f'Hey {user_name}, you already enrolled in {title}', 'danger') return redirect(url_for('courses')) Enrollment(user_id=current_user, courseID=id).save() #classes=Enrollment.objects(user_id=user).all() data = list( User.objects.aggregate(*[{ '$lookup': { 'from': 'enrollment', 'localField': 'user_id', 'foreignField': 'user_id', 'as': 'r1' } }, { '$unwind': { 'path': '$r1', 'includeArrayIndex': 'string', 'preserveNullAndEmptyArrays': False } }, { '$lookup': { 'from': 'course', 'localField': 'r1.courseID', 'foreignField': 'courseID', 'as': 'r2' } }, { '$unwind': { 'path': '$r2', 'preserveNullAndEmptyArrays': False } }, { '$match': { 'user_id': current_user } }, { '$sort': { 'courseID': 1 } }])) return render_template('enroll.html', title="Registered Courses", enroll=True, courseData=data)
def before_request(): print session.keys(), session.values() print("before request") print ('username' in session, "in session?") g.db = connect_db() g.user = None if "username" in session: g.user = get_user(session['username'])
def before_request(): print session.keys(), session.values() print("before request") print('username' in session, "in session?") g.db = connect_db() g.user = None if "username" in session: g.user = get_user(session['username'])
def shopping_cart(): """Display content of shopping cart.""" order = session.values() total = 0 for item in order: total = total + item[3] return render_template("cart.html", order=order, total=total)
def login(): # print("login") # print("session_in_login", session) try: if request.method == 'POST': global x global y global c text = request.form['usrnm'] username = text.upper() text = request.form['pswrd'] password = text.upper() # print("Password: %s, Username: %s" % (password, username)) if username and password not in session.values(): # print("NOT IN SESSION") session['username'] = username session['password'] = password payload = { "Database": "10", "LogOnDetails.UserName": username, "LogOnDetails.Password": password } result = session_requests.post(login_url, data=payload, headers=dict(referer=login_url)) # print(result.status_code) result = session_requests.get(url, headers=dict(referer=url)) nme = student() session['name'] = nme for y in range(10): global nsub av = average(result.content) sub = subj(result.content) if av or sub is not None: nsub2 = sub.replace("/", "_") nsub = nsub2.replace(" ", "_") classinfo = info(result.content, y, nsub) point = points(result.content, y, nsub) g["{0}".format(nsub)] = [sub, av, x] c["{0}".format(nsub)] = classinfo p["{0}".format(nsub2)] = point x += 1 y += 1 else: x += 1 y += 1 session['g'] = g cache.set('c', c) cache.set('p', p) return redirect(url_for('dashboard')) else: session.new = False # print("IN SESSION") return redirect(url_for('dashboard')) except Exception as e: return redirect(url_for('index', messages=str(e)))
def summary(): ''' If session value (client name) is empty, render page without data -----------------------------------------------------------------------''' if session.values() == []: client_name = 'no client data found -> upload new data' return render_template('Summary.html',client_name=client_name) else: ''' There is a client session ''' ''' need to make sure data loads only once!!! ''' if not 'NTDS' in session: print 'no ntds !!!' return render_template('Summary.html') if 'NTDS' in session: print ' ntds in session !!!' client_name = session['client_name'] numberOfUsers = class_uploaded_files.number_of_username_NTDS() numberOfLM = class_uploaded_files.number_of_LMs() usersContainAdmin = class_uploaded_files.users_contain_admin() users_contain_test = class_uploaded_files.users_contain_test() users_contain_companyName = class_uploaded_files.users_contain_companyName() users_contain_serviceAccount = class_uploaded_files.users_contain_serviceAccount() ''' == Class password functions == ''' password_length = class_pass.get_dict_password_length() get_total_passwords = class_pass.total_passwords() Not_Cracked = (numberOfUsers - get_total_passwords) most_common_pass = class_pass.get_dict_most_common_pass() ''' == class_haveibeenhacked == ''' #if request.form['pwn_me']: # pwn = class_haveibeenhacked() # pwn.haveibeenhacked() return render_template('Summary.html',client_name=client_name, numberOfUsers=numberOfUsers, numberOfLM=numberOfLM, usersContainAdmin=usersContainAdmin, users_contain_test=users_contain_test,users_contain_companyName=users_contain_companyName, users_contain_serviceAccount=users_contain_serviceAccount, Not_Cracked=Not_Cracked,Cracked=get_total_passwords, password_length=password_length, most_common_pass=most_common_pass)
def main(): print(users) if 'uid' not in session.keys(): print(f"{bcolors.OKBLUE}LOL{bcolors.OKBLUE}") session['uid'] = str(uuid4()) else: print(f"{bcolors.OKGREEN}Im here{bcolors.OKGREEN}") print(session.values()) print(session.keys()) return render_template("index.html")
def rate_movie(movie_id): if session['user_name']: # or if user_name in session username = session.values() print username username = username[0] return render_template("rating_form.html", movie_id = movie_id, username = username) else: return redirect("/login")
def houser_change_infomation(): if request.method == "GET": users_id = request.cookies.get("users_id") session_users_name = session.get(users_id, None) print({request.cookies.values()}, {users_id}, {session_users_name}, {session.values()}) if session_users_name == None: return redirect("/login") else: return render_template( "Houser_center/houser_change_infomation.html", session_users_name=session_users_name) elif request.method == "POST": ret = {"status": "false", "meg": "null"} session_users_name = request.form.get("session_users_name") ajax_users_name = request.form.get("users_name") ajax_users_phone = request.form.get("users_phone") ajax_users_city = request.form.get("users_city") ajax_users_email = request.form.get("users_email") # 这里查询数据是否已经出现过记录 sql = '''select * from users_infomation_json where users_name = %s''' print({session_users_name}, {ajax_users_name}, {ajax_users_phone}, {ajax_users_city}, {ajax_users_email}) search_users_infomation_json_result = sqL_Manager_tool.search( sql, [session_users_name]) wait_user_infomation_json = json.dumps( { "users_name": ajax_users_name, "users_phone": ajax_users_phone, "users_city": ajax_users_city, "users_email": ajax_users_email, }, ensure_ascii=False) if ajax_users_name == "" or ajax_users_phone == "" or ajax_users_city == "" or ajax_users_email == "": return json.dumps(ret) if search_users_infomation_json_result == (): # 代表没有数据,所以给他插入数据 sql = '''insert into users_infomation_json(users_name,users_infomation_json) value (%s,%s)''' insert_user_infomation_json_result = sqL_Manager_tool.excute( sql, [session_users_name, wait_user_infomation_json]) if insert_user_infomation_json_result == True: ret["status"] = "true" return json.dumps(ret) elif insert_user_infomation_json_result == False: return json.dumps(ret) elif search_users_infomation_json_result != (): # 这里代表有数据更新数据即可 sql = '''UPDATE users_infomation_json SET users_infomation_json = %s WHERE users_name = %s ''' updata_users_infomation_json_result = sqL_Manager_tool.excute( sql, [wait_user_infomation_json, session_users_name]) if updata_users_infomation_json_result == True: ret["status"] = "true" return json.dumps(ret) elif updata_users_infomation_json_result == False: return json.dumps(ret)
def index(): current_app.logger.debug(" index page") current_app.logger.debug("cookie name %s" % request.cookies.get('username')) current_app.logger.debug('in login %s %s'%(session.keys(),session.values())) if 'username' in session: return redirect(url_for("homework_page.Ckeck",tea_id = session['username'] )) #logger.debug("login user is %s" % flask_login.current_user) #logger.debug('Logged in as %s' % escape(session['username'])) return render_template('index.html', name=session['username']) else: current_app.logger.debug("you are not logged in") return render_template('auth-login.html')
def shopping_cart(): """Display content of shopping cart.""" # TODO: Display the contents of the shopping cart. # The logic here will be something like: # session['cart'] = value #is this being brought in via the redirrect from add to cart? cart = session.values() for item in cart: if item == id: print id
def complaints(user): if user not in session.values(): return redirect(url_for('login')) for x in comps.find({'institution': user, 'category': ''}): id_x = x['_id'] body = x['body'] comps.update_one({'_id': ObjectId(id_x)}, {'$set': { 'category': classify(body) }}) return render_template('complaint.html', count=counts(comps, user), user=user)
def get(): try: crypto_symbol = request.args.get("symbol") if crypto_symbol: crypto = session[crypto_symbol] return jsonify(crypto), 200 else: cryptos = [value for value in session.values()] return jsonify(cryptos), 200 except Exception as e: print(e) return jsonify({"Message":"An Error Occured"}), 500
def get(): try: crypto_symbol = request.args.get("symbol") if crypto_symbol: if crypto_symbol not in session.keys(): return jsonify({"Message":"Symbol Does not exist"}), 200 crypto = session[crypto_symbol] return jsonify(crypto), 200 else: result = [value for value in session.values()] return jsonify(result), 200 except Exception as e: return jsonify({"Message":"An Error Occured"}), 500
def users_orders(): if request.method == "GET": users_id = request.cookies.get("users_id") session_users_name = session.get(users_id, None) print({request.cookies.values()}, {users_id}, {session_users_name}, {session.values()}) if session_users_name == None: return redirect("/login") else: sql = '''select * from house_infomation where users = %s''' search_house_infomation_houser_result = sqL_Manager_tool.search(sql, [session_users_name]) if search_house_infomation_houser_result == (): search_house_infomation_houser_result = None return render_template("My_center/users_orders.html", session_users_name=session_users_name, my_house=search_house_infomation_houser_result) elif request.method == "POST": pass
def complaintlist(user, category): if user not in session.values(): return redirect(url_for('login')) comp_lst = [] for x in comps.find({ 'institution': user, 'category': category }).sort('date', -1): comp_lst.append(x) return render_template('complaint.html', category=category, comp_lst=comp_lst, count=counts(comps, user), user=user, initials=initials)
def feed(username): if username is not None and username in session.values(): if request.method == 'POST': query = 'INSERT INTO tweet ("user_id", "content") VALUES (:user_id, :content);' params = { 'user_id': session['user_id'], 'content': request.form['tweet'] } g.db.execute(query, params) g.db.commit() cursor = g.db.execute( """ SELECT u.username, t.id, t.created, t.content FROM user u JOIN tweet t ON (u.id=t.user_id) WHERE u.username=:username ORDER BY datetime(t.created) DESC; """, {'username': username}) all_tweets = cursor.fetchall() tweets = [ dict(username=tweet[0], id=tweet[1], created=tweet[2], content=tweet[3]) for tweet in all_tweets ] return render_template('static_templates/own_feed.html', tweets=tweets) else: if request.method == 'POST': return redirect('/', 403) if request.method == 'GET': cursor = g.db.execute( """ SELECT u.username, t.id, t.created, t.content FROM user u JOIN tweet t ON (u.id=t.user_id) WHERE u.username=:username ORDER BY datetime(t.created) DESC; """, {'username': username}) all_tweets = cursor.fetchall() tweets = [ dict(username=tweet[0], id=tweet[1], created=tweet[2], content=tweet[3]) for tweet in all_tweets ] return render_template('static_templates/other_feed.html', tweets=tweets)
def callback_handling(): # Handles response from token endpoint auth0.authorize_access_token() resp = auth0.get('userinfo') userinfo = resp.json() # Store the user information in flask session. session['jwt_payload'] = userinfo session['profile'] = { 'user_id': userinfo['sub'], 'nickname': userinfo['nickname'], 'name': userinfo['name'], 'picture': userinfo['picture'] } print(session.values()) return redirect('/dashboard')
def callback(): # Redirect user to home page if already logged in. if current_user is not None and current_user.is_authenticated: return redirect(url_for('index')) if 'error' in request.args: if request.args.get('error') == 'access_denied': return 'You denied access.' return 'Error encountered.' if 'code' not in request.args and 'state' not in request.args: return redirect(url_for('login')) else: # Execution reaches here when user has # successfully authenticated our app. print('session', session.values()) google = get_google_auth(state=True) try: token = google.fetch_token(Auth.TOKEN_URI, client_secret=Auth.CLIENT_SECRET, authorization_response=request.url) except HTTPError: return 'HTTPError occurred.' google = get_google_auth(token=token) resp = google.get(Auth.USER_INFO) if resp.status_code == 200: user_data = resp.json() print(resp.json()) email = user_data['email'] user = User.query.filter_by(email=email).first() new_user = False if user is None: user = User() user.email = email new_user = True user.name = user_data['name'] user.tokens = json.dumps(token) user.avatar = user_data['picture'] user.username = extract_username(email) db.session.add(user) db.session.commit() login_user(user) if new_user: return redirect(url_for('username')) return redirect(url_for('index')) return 'Could not fetch your information.'
def hosuer_add_one_house(): if request.method == "GET": users_id = request.cookies.get("users_id") session_users_name = session.get(users_id, None) print({request.cookies.values()}, {users_id}, {session_users_name}, {session.values()}) if session_users_name == None: return redirect("/login") else: return render_template("Houser_center/hosuer_add_one_house.html", session_users_name=session_users_name) elif request.method == "POST": ret = {"status": "false", "meg": "null"} users_id = request.cookies.get("users_id") session_users_name = session.get(users_id, None) if session_users_name != None: house_title = request.form.get("house_title") house_village = request.form.get("house_village") house_address = request.form.get("house_address") house_price = request.form.get("house_price") house_describe = request.form.get("house_describe") house_status = "待预订" house_show_img = request.form.get("house_show_img") print({house_title}, {house_village}, {house_address}, {house_price}, {house_describe}, {house_status}, {house_show_img}, {session_users_name}, {}, {}) if house_title != None: if house_village != None: if house_address != None: if house_price != None: if house_describe != None: if house_show_img != None: sql = '''insert into house_infomation(house_title,house_village,house_address,house_price,house_describe,house_status,house_show_img,houser,users,response) value(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)''' insert_house_infomation_rusult = sqL_Manager_tool.excute( sql, [ house_title, house_village, house_address, house_price, house_describe, house_status, house_show_img, session_users_name, None, None ]) if insert_house_infomation_rusult == True: ret["status"] = "true" return json.dumps(ret) return json.dumps(ret)
def main_game(): if not session.values(): session['gold'] = int(0) session['random'] = int(0) print session if session['gold'] < int(0): positive_version = session['gold'] * -1 flash( 'you owe us {} gold. I have confiscated your belongings. Your home...er, I mean my home, is very nice!!' .format(positive_version)) elif session['random'] >= 0: flash('you have earned {} gold! Great!'.format(session['random'])) elif session['random'] < 0: positive_version = session['random'] * -1 flash('you have lost {} gold, Sucker!'.format(positive_version)) return render_template('index.html')
def login(): if len(session.values()) == 0: if request.method == 'POST': users = db['Colleges'] login_user = users.find_one({'name': request.form['username']}) if login_user: if bcrypt.hashpw( request.form['password'].encode('utf-8'), login_user['password']) == login_user['password']: session['username'] = request.form['username'] return redirect( url_for('complaints', user=session['username'])) return 'Invalid Username/Password Combination' return render_template('hinex.html') else: return redirect(url_for('complaints', user=session['username']))
def process_login(): """Checks if the user exists in the User table. If not, creates a new user.""" username = request.form.get("username") password = request.form.get("password") user_object = User.query.filter(User.email == username).first() if not user_object: new_user = User(email=username, password=password) db.session.add(new_user) db.session.commit() else: user_email= user_object.email user_password = user_object.password if user_password != password: return redirect("/login") else: while user_email not in session.values(): session['user_name'] = user_email return redirect("/")
def shopping_cart(): """Display content of shopping cart.""" # TODO: Display the contents of the shopping cart. # The logic here will be something like: # # - get the list-of-ids-of-melons from the session cart # - loop over this list: # - keep track of information about melon types in the cart # - keep track of the total amt ordered for a melon-type # - keep track of the total amt of the entire order # - hand to the template the total order cost and the list of melon types for id in session.values(): melon_info = melons.get_by_id(id) # melon = melons.get_by_id(melon_id) # raise Exception("Fix me") return render_template("cart.html")
def add_to_cart(id): """Add a melon to cart and redirect to shopping cart page. When a melon is added to the cart, redirect browser to the shopping cart page and display a confirmation message: 'Successfully added to cart'. """ order = model.Melon.get_by_id(id) if order: if str(id) in session: session[str(order.id)] = [order.common_name, order.price, session[str(order.id)][2] + 1, session[str(order.id)][3] + order.price] print "TRYING TO FIGURE THIS OUT: ", session[str(order.id)][2] else: session[str(order.id)] = [order.common_name, order.price, 1, order.price] # order = {key:session[key]for key in session if key != 'logged_in_customer_email'} order = session.values() total = 0 for item in order: total = total + item[3] return render_template('cart.html', order=order, total=total)
def complaint(user, category, complaint_id): if user not in session.values(): return redirect(url_for('login')) rem_categories = ['Hostel', 'Academics', 'Finance', 'Mess'] rem_categories.remove(category) comp_lst = [] mycomp = [] for x in comps.find({ 'institution': user, 'category': category }).sort('date', -1): comp_lst.append(x) for x in comps.find({'_id': ObjectId(complaint_id)}): mycomp.append(x) replylink = 'http://0dff94103831.ngrok.io/home/' + user return render_template('complaint.html', category=category, comp_lst=comp_lst, count=counts(comps, user), mycomp=mycomp, user=user, rem_cats=rem_categories, initials=initials, replylink=replylink)
def auth_login(): """.""" username = request.form.get("username") password = request.form.get("password").encode("utf-8") user = User.query.filter(User.username == username).first() if user: _hashed = bcrypt.hashpw(password, user.password.encode("utf-8")) if _hashed.decode("utf-8") == user.password: pass if user.id not in session.values(): session["id"] = user.id session["logged"] = True return redirect("/me") return redirect("/error") return redirect("/error")
def summary(): ''' If session value (client name) is empty, render page without data -----------------------------------------------------------------------''' if session.values() == []: client_name = 'no client data found -> upload new data' return render_template('Summary.html', client_name=client_name) else: ''' There is a client session ''' ''' need to make sure data loads only once!!! ''' if not 'NTDS' in session: print 'no ntds !!!' return render_template('Summary.html') if 'NTDS' in session: print ' ntds in session !!!' client_name = session['client_name'] has_hash_password_file = session['hash_password'] ''' Getting the NTDS and password list from File Upload Class ''' ntds_list = class_upload_files.get_ntds_list() ''' == Functions of Summary Class == ''' numberOfUsers = class_summary.number_of_username_NTDS(ntds_list) numberOfLM = class_summary.number_of_LMs(ntds_list) usersContainAdmin = class_summary.users_contain_admin(ntds_list) users_contain_test = class_summary.users_contain_test(ntds_list) users_contain_companyName = class_summary.users_contain_companyName( ntds_list, client_name) users_contain_serviceAccount = class_summary.users_contain_serviceAccount( ntds_list) password_list = '' if (has_hash_password_file == True): #class_upload_files.make_passwords_of_hash_pass_file() password_list = class_upload_files.get_passwords_of_hash_pass_file_PASSWORDSonly( ) # ['pass', 'pass1', 'pass2', 'pass3'] else: print 'no hash_file' #class_upload_files.make_password_list() password_list = class_upload_files.get_password_list_updated() #old: ['pass'], ['pass1'], ['pass2'], #new: ['pass', 'pass1', 'pass2', 'pass3'] ''' == Functions of Password Class == ''' ''' Calling password class functions once only !!! ''' class_pass.password_length(password_list) class_pass.most_common_password(password_list) user_hash_pass = class_upload_files.get_user_hash_pass() most_common_single_pass = class_pass.get_most_common_pass() password_length = class_pass.get_dict_password_length() Admins = class_summary.ADMINs_with_Weak_pass(user_hash_pass) Tests = class_summary.TESTs_with_Weak_pass(user_hash_pass) get_total_passwords = class_pass.total_passwords(password_list) Not_Cracked = (numberOfUsers - get_total_passwords) most_common_passwords = class_pass.get_dict_most_common_pass() ''' == class_haveibeenhacked == ''' #pwn = class_haveibeenhacked() #pwn.haveibeenhacked() return render_template( 'Summary.html', client_name=client_name, numberOfUsers=numberOfUsers, numberOfLM=numberOfLM, usersContainAdmin=usersContainAdmin, users_contain_test=users_contain_test, users_contain_companyName=users_contain_companyName, users_contain_serviceAccount=users_contain_serviceAccount, Not_Cracked=Not_Cracked, Cracked=get_total_passwords, password_length=password_length, most_common_pass=most_common_passwords, most_common_single_pass=most_common_single_pass, Admins=Admins, Tests=Tests)
def everyone_view(): if 'logged_in' not in session.values(): return redirect('/login') else: return render_template('everyone.html')
def test(): return str(zip(session.keys(), session.values()))
def query_id_from_session(obj): if obj in list(session.values()): return obj return False
* 删除数据 session.pop('name',None) del session['name'] * 判断是否存在 'name' in session * 获取数据 session['name'] * 如果数据不存在,抛出异常 KeyError * session部分方法 session.get(name,default) * 安全的取值 session.keys() session.values() session.items() session.fromkeys() session.copy() session.clear * session属性 new * 如果会话是新的,则该值为 True modified * session是否被修改(进行了CUD) * 如果是对session里面的对象,进行修改,该值不会发生变化,需要手动的修改该值 session['objects'].append(42) session.modified = True
def user_view(): if 'logged_in' not in session.values(): return redirect('/login') else: return render_template('user.html')
def is_login(): if not request.cookies.get('tag', None) in session.values(): print('Not found session, Redirect to login....', session) return False return True
def session_api(): return jsonify(list(session.keys(), session.values()))