def message_history(self): for message in database.get_messages(self.name): sender = database.get_user_by_id(message['sender']) receiver = database.get_user_by_id(message['receiver']) if sender['name'] == self.name: self.send_message('USERMSGSNT %s :%s' % (receiver['name'], message['message'])) else: self.send_message('USERMSG %s :%s' % (sender['name'], message['message']))
def newpost(): if session["logged"]==0: return redirect(url_for("login")) elif request.method=="GET": username = database.get_user_by_id(session["user"]) return render_template("newpost.html", uname=username) else: title = request.form["title"] body = request.form["body"] session["title"] = title session["body"] = body session["author"] = database.get_user_by_id(session["user"]) return redirect(url_for("story", storyid=database.add_story(title, session["user"], body, 1)))
def change_password(): response = request.Response() data = forms.get_form_data() if "old" not in data or "new" not in data: login_failure(response) return session = get_session() user_id = session["user_id"] user = database.get_user_by_id(user_id) current = user["password"] salt = user["salt"] maybe = data["old"] correct_pw = hashing.check_hash(maybe, salt, current) if not correct_pw: login_failure(response) return hash_data = hashing.generate_hash(data["new"]) database.update_password(user_id, hash_data) response.data = "success" response.send()
def userpage(): if session["logged"]==0: return redirect(url_for("login")) else: return render_template("userpage.html", uname=database.get_user_by_id(session["user"]), posts=reversed(database.get_top_posts(-1)), yourposts=database.get_top_posts(session["user"]))
def story(): if session["logged"]==0: return redirect(url_for("login")) return render_template("story.html", title="POSTS", author="", posts=database.get_top_posts(-1), uname=database.get_user_by_id(session["user"]), storyid=request.args.get('storyid'), content=database.get_story_content(request.args.get('storyid')))
def get_registered_user_by_id(id: int) -> User: global registered_users # try get from online user = registered_users.get_by_id(id) if user is None: # try get from db user = database.get_user_by_id(id) if user is not None: registered_users.add(user) return user
def edit(): if session["logged"]==0: return redirect(url_for("login")) elif request.method=="GET": username = database.get_user_by_id(session["user"]) return render_template("edit.html", uname=username) else: title = "<NO TITLE YET>" database.update_story_link(database.get_lowest_child(request.args.get('storyid')), database.add_story(title, session["user"], request.form["body"], 0)) return redirect(url_for('story', storyid=request.args.get('storyid')))
def get_user_data_bad(user_id): logger.debug("Retrieving user %s from database", user_id) try: user_data = get_user_by_id(user_id) except ItemNotFoundError: logger.warning("User ID %s was not found", user_id) except Exception: logger.critical("Error for user %s", user_id, exc_info=True) else: logger.debug("Retrieved user ID %s from database", user_id)
def home_page(): list1 = [] if "logged_in" in session and session['logged_in']: photos = database.get_all_photos() random.shuffle(photos) for i in photos: d = database.get_user_by_id(i.user_id) list1.append(d) return render_template("logged_in_homepage.html", photos=photos, list1=list1) else: return render_template("homepage.html")
def clicked_img(pic): charities = database.get_all_charities() photo = database.get_photo_by_name(pic) user = database.get_user_by_id(photo.user_id) percent_price = photo.percentage * .01 * photo.price if request.method == 'POST': return render_template("img_selected.html", photo=photo, user=user, charities=charities, buy=True, percent_price=percent_price) elif request.method == 'GET': return render_template("img_selected.html", photo=photo, user=user, charities=charities, buy=False, percent_price=percent_price)
def user(user_id): def get_user_info(user): response = jsonify({ 'user': user.username, 'movie': user.favorite_movie }) return response def post_user_info(user): try: req_json = request.get_json() new_favorite = req_json['movie'] user.favorite_movie = new_favorite response = jsonify({'status': 'success'}) return response except: response = jsonify({ 'status': 'failed', 'fail reason': 'Wrong arguments' }) return response, 500 user = db.get_user_by_id(user_id) #CHANGE if user is None: response = jsonify({ 'status': 'failed', 'fail reason': 'User not found' }) return response, 404 if request.method == 'GET': return get_user_info(user) elif request.method == 'POST': return post_user_info(user) else: response = jsonify({ 'status': 'failed', 'fail reason': 'Wrong method, only POST and GET available' }) return response, 401
def following_user(username): if "logged_in" in session and session['logged_in']: following = [] number_of_photos = [] least_p = [] most_p = [] has_photos = [] user = database.get_user(username) following_2 = database.get_following_for(user.id) for i in range(len(following_2)): following.append(database.get_user_by_id(following_2[i].followed)) number_of_photos.append( len(database.get_photos_by_user_id(following_2[i].followed))) prices = [] if number_of_photos[i] == 0: has_photos.append(False) else: has_photos.append(True) for j in database.get_photos_by_user_id( following_2[i].followed): converted_p = converter.convert(j.price, j.currency, 'USD') prices.append(converted_p) least_p.append(min(prices)) most_p.append(max(prices)) return render_template("following_page.html", following=following, user=user, number_of_photos=number_of_photos, least_p=least_p, most_p=most_p, has_photos=has_photos) else: return redirect(url_for("home_page"))
def upload_file(): if "logged_in" in session and session['logged_in']: if request.method == 'POST': failed = None no_file = None list1 = [] file = request.files['file'] if file and allowed_file(file.filename): a = database.get_last_id() b = file.filename if a == None: f = str(1) + "." + b.rsplit('.', 1)[1].lower() else: f = str( (int(a.id) + 1)) + "." + b.rsplit('.', 1)[1].lower() target = os.path.join(app.config['UPLOAD_FOLDER'], f) file.save(target) response = model.predict_by_filename( '/Users/DakMac/Desktop/jennyz/MEET/Whats on the meet laptop/labs/y2l-individual-project/static/user_images/' + f) frames = response["outputs"] if a == None: for frame in frames: for concept in frame["data"]["concepts"]: list1.append(concept["name"]) for i in range(10): database.add_keyword(list1[i], 1) keywords1 = request.form["keywords1"] if keywords1 == '': d = None else: database.add_keyword(keywords1, 1) keywords2 = request.form["keywords2"] if keywords2 == "": b = None else: database.add_keyword(keywords2, 1) keywords3 = request.form["keywords3"] if keywords3 == '': c = None else: database.add_keyword(keywords3, 1) else: for frame in frames: for concept in frame["data"]["concepts"]: list1.append(concept["name"]) for i in range(10): database.add_keyword(list1[i], a.id + 1) keywords1 = request.form["keywords1"] if keywords1 == '': d = None else: database.add_keyword(keywords1, a.id + 1) keywords2 = request.form["keywords2"] if keywords2 == "": b = None else: database.add_keyword(keywords2, a.id + 1) keywords3 = request.form["keywords3"] if keywords3 == '': c = None else: database.add_keyword(keywords3, a.id + 1) c = database.get_user_by_id(session['id']) y = c.username price = request.form["price"] currency = request.form["currency"] percentage = request.form["percentage"] database.add_photo(f, session['id'], y, price, currency, percentage) return redirect(url_for('home_page')) if file and not allowed_file(file.filename): failed = True return render_template("upload.html", failed=failed) return render_template("upload.html") else: return redirect(url_for("home_page"))
def get_user_by_id(user_id): user = db.get_user_by_id(user_id) if(len(user) == 0): return make_response(jsonify({'error': 'Invalid user ID'}), 404) else: return make_response(jsonify(user), 200)
def load_user(user_id): return db.get_user_by_id(user_id)
def get_user_data_good(user_id): with db_logger(user_id, "user", logger): user_data = get_user_by_id(user_id)
def id_to_name(user): return database.get_user_by_id(user)