def news(method): morph = pymorphy2.MorphAnalyzer() db_sess = db_session.create_session() user_id = request.cookies.get('id') if method == 'GET': reviews__ = [] reviews_ = db_sess.query(__all_models.Films).all() for i in reviews_: reviews__.append( [i.title, i.average_mark, i.genres, i.year, i.countReviews]) word = morph.parse('Человек')[0] return render_template('news.html', reviews=reviews__, word=word) else: if 'header_btn' in request.form: return header_logic() elif 'submit_btn' in request.form: return search_logic()
def change_review(method, id): db_sess = db_session.create_session() user_id = request.cookies.get('id') review_ = db_sess.query(__all_models.Reviews).filter( __all_models.Reviews.id == id, __all_models.Reviews.id_user == user_id).first() if method == 'GET': return render_template('NewReviewForm.html', film_title=review_.title, mark_value=review_.mark, year_film=review_.year, review_user=review_.review, btn_text='Изменить отзыв') else: if 'header_btn' in request.form: return header_logic() elif 'submit_btn' in request.form: return search_logic() else: title = request.form['movie_title'] mark = request.form['mark'] genre = request.form['genreOfFilm'] year = request.form['movie_year'] review = request.form['feedback'] films = db_sess.query(__all_models.Films).filter( __all_models.Films.title == title).first() marks = [int(i) for i in films.mark.split('_')] for i in marks: if i == int(review_.mark): marks[marks.index(i)] = mark break films.mark = '_'.join([str(i) for i in marks]) average_mark = sum([int(i) for i in marks]) / films.countReviews films.average_mark = average_mark review_.title = title review_.mark = mark review_.genre = genre review_.year = year review_.review = review db_sess.commit() return redirect('/news')
def reviews_check(method): db_sess = db_session.create_session() user_id = request.cookies.get('id') if method == 'GET': reviews_ = db_sess.query(__all_models.Reviews).filter( __all_models.Reviews.id_user == user_id) return render_template( 'Reviews_form.html', reviews=reviews_, ) else: if 'header_btn' in request.form: return header_logic() elif 'submit_btn' in request.form: return search_logic() else: if request.form['btn'] == 'change': return redirect('/change_review/<ind:id>') else: return redirect('/delete_review/<int:id>')
def main(method, photos): db_sess = db_session.create_session() user_id = request.cookies.get('id') user = db_sess.query( __all_models.User).filter(__all_models.User.id == user_id).first() if method == 'GET': reviews_ = db_sess.query(__all_models.Reviews).filter( __all_models.Reviews.id_user == user_id) if user.img is not None: return render_template('profile.html', image_route=url_for( 'static', filename=f'pictures/{user.img}'), reviews=reviews_, name=user.name, count_reviews=user.reviews_count, reg_data=user.created_date) else: return render_template('profile.html', image_route=url_for( 'static', filename='pictures/0.jpg'), name=user.name, count_reviews=user.reviews_count, reg_data=user.created_date, reviews=reviews_) else: if 'header_btn' in request.form: return header_logic() elif 'submit_btn' in request.form: return search_logic() else: if request.form['btn'] == 'write_new_review': return redirect('/writeReview') elif request.form['btn'] == 'edit_photo': img = request.files['file'] filename = photos.save(img) user.img = filename db_sess.commit() return redirect('/profile') else: return 'ok'
def writeNewReview(method): if method == 'GET': return render_template('NewReviewForm.html', film_title='', mark_value=0, year_film='', review_user='', btn_text='Добавить отзыв') else: if 'header_btn' in request.form: return header_logic() elif 'submit_btn' in request.form: return search_logic() else: user_id = request.cookies.get('id') db_sess = db_session.create_session() title = request.form['movie_title'] mark = request.form['mark'] genre = request.form['genreOfFilm'] year = request.form['movie_year'] review = request.form['feedback'] db_film = db_sess.query(__all_models.Reviews).filter( __all_models.Reviews.title == title, __all_models.Reviews.id_user == user_id).first() if db_film: flash('Вы уже написали обзор на этот фильм!') return render_template('NewReviewForm.html') else: user = db_sess.query(__all_models.User).filter( __all_models.User.id == user_id).first() film = __all_models.Reviews() film.id_user = user_id film.name_user = user.name film.title = title film.mark = mark film.genre = genre film.year = year film.review = review created_date = datetime.datetime.now() created_date = created_date.strftime("%d-%m-%Y %H:%M") film.date = created_date db_sess.add(film) films = db_sess.query(__all_models.Films).filter( __all_models.Films.title == title).first() if films: films.countReviews += 1 user.reviews_count += 1 films.mark = f'{films.mark}_{mark}' films.average_mark = sum( [int(i) for i in films.mark.split('_')]) / films.countReviews if genre not in films.genres.split(', '): films.genres = f'{films.genres}, {genre}' else: films = __all_models.Films() films.title = title films.mark = f'{mark}' films.genres = f'{genre}' films.year = year films.countReviews = 1 user.reviews_count += 1 films.average_mark = int(films.mark) / films.countReviews db_sess.add(films) db_sess.commit() return redirect('/news')