def display_question(id, count_view=True): # view counter += 1 question_file_name = current_file_path + "/data/question.csv" question_list = data_manager.get_table_from_file(question_file_name, (4, 5, 6)) for row in question_list: if row[0] == id: title = row[4] message = row[5] if count_view: row[2] = str(int(row[2]) + 1) question_list = data_manager.get_timeform_to_stamp(question_list) data_manager.write_table_to_file(question_file_name, question_list, (4, 5, 6)) break answer_file_name = current_file_path + "/data/answer.csv" answer_list = data_manager.get_table_from_file(answer_file_name, (4, 5)) list_answers = [] for row in answer_list: if row[3] == id: list_answers.append(row) return render_template('display_question.html', id=id, title=title, message=message, list_answers=list_answers)
def add_image(id): if request.method == 'POST': # check if the post request has the file part if 'file' not in request.files: flash('No file part') return redirect(request.url) file = request.files['file'] # if user does not select file, browser also # submit a empty part without filename if file.filename == '': flash('No selected file') return redirect(request.url) if file and allowed_file(file.filename): filename = secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) # filename-to-table question_file_name = current_file_path + "/data/question.csv" question_list = data_manager.get_table_from_file( question_file_name, (4, 5, 6)) for row in question_list: if row[0] == id: row[6] = '/images/' + filename break # update csv question_list_csv_format = data_manager.get_timeform_to_stamp( question_list) # question_list_csv_format = data_manager.add_item_to_table(question_list_csv_format, request.form) data_manager.write_table_to_file(question_file_name, question_list_csv_format, (4, 5, 6)) return redirect('/') return render_template('file_upload.html')
def add_new_answer(): file_name = current_file_path + "/data/answer.csv" answer_list = data_manager.get_table_from_file(file_name, (4, 5)) answer_list_csv_format = data_manager.get_timeform_to_stamp(answer_list) answer_list_csv_format = data_manager.add_item_to_answer_table( answer_list_csv_format, request.form) data_manager.write_table_to_file(file_name, answer_list_csv_format, (4, 5)) return redirect('/question/' + request.form["question_id"])
def create_new_question(): file_name = current_file_path + "/data/question.csv" question_list = data_manager.get_table_from_file(file_name, (4, 5, 6)) question_list_csv_format = data_manager.get_timeform_to_stamp( question_list) question_list_csv_format = data_manager.add_item_to_table( question_list_csv_format, request.form) data_manager.write_table_to_file(file_name, question_list_csv_format, (4, 5, 6)) return redirect('/')
def vote_answer_down(): file_name = current_file_path + "/data/answer.csv" answer_list = data_manager.get_table_from_file(file_name, (4, 5)) for row in answer_list: if row[0] == request.args.get('id'): row[2] = str(int(row[2]) - 1) question_id = row[3] break answer_list_csv_format = data_manager.get_timeform_to_stamp(answer_list) data_manager.write_table_to_file(file_name, answer_list_csv_format, (4, 5)) return display_question(question_id, count_view=False)
def vote_question_down(): file_name = current_file_path + "/data/question.csv" question_list = data_manager.get_table_from_file(file_name, (4, 5, 6)) for row in question_list: if row[0] == request.args.get('id'): row[3] = str(int(row[3]) - 1) break question_list_csv_format = data_manager.get_timeform_to_stamp( question_list) data_manager.write_table_to_file(file_name, question_list_csv_format, (4, 5, 6)) return redirect('/')
def delete_question(question_id): file_name = current_file_path + "/data/question.csv" question_list = data_manager.get_table_from_file(file_name, (4, 5, 6)) question_list_csv_format = data_manager.get_timeform_to_stamp( question_list) question_list_csv_format = data_manager.delete_item_from_table( question_list_csv_format, question_id) data_manager.write_table_to_file(file_name, question_list_csv_format, (4, 5, 6)) file_name = current_file_path + "/data/answer.csv" answer_list = data_manager.get_table_from_file(file_name, (4, 5)) question_id_list = [] for row in answer_list: if row[3] == question_id: question_id_list.append(row[0]) answer_list_csv_format = data_manager.get_timeform_to_stamp(answer_list) for question_id_to_delete in question_id_list: answer_list_csv_format = data_manager.delete_item_from_table( answer_list_csv_format, question_id_to_delete) data_manager.write_table_to_file(file_name, answer_list_csv_format, (4, 5)) return redirect('/')