from flask import Flask, render_template, request, redirect, url_for from transformers import pipeline from models import db, Question, Comment import os app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db' app.config['UPLOAD_FOLDER'] = 'uploads/audio' db.init_app(app) @app.route('/') def index(): questions = Question.query.all() return render_template('index.html', questions=questions) @app.route('/add_question', methods=['POST']) def add_question(): content = request.form['content'] password = request.form['password'] question = Question(content=content, password=password) db.session.add(question) db.session.commit() return redirect(url_for('index')) @app.route('/question/', methods=['GET', 'POST']) def question(question_id): question = Question.query.get_or_404(question_id) if request.method == 'POST': username = request.form['username'] audio = request.files['audio'] if audio: audio_path = os.path.join(app.config['UPLOAD_FOLDER'], audio.filename) audio.save(audio_path) comment = Comment(username=username, audio_file=audio_path, question=question) else: text_reply = request.form['text_reply'] comment = Comment(username=username, text_reply=text_reply, question=question) db.session.add(comment) db.session.commit() return render_template('question.html', question=question) if __name__ == '__main__': with app.app_context(): db.create_all() app.run(debug=True)