-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
40 lines (28 loc) · 1.23 KB
/
app.py
File metadata and controls
40 lines (28 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from flask import Flask, render_template, request, jsonify
from resume_analyzer import predict_role, extract_text_from_file
from chatbot_client import ask_chatbot
app = Flask(__name__)
resume_text_global = ""
@app.route("/", methods=["GET", "POST"])
def index():
global resume_text_global
result = None
if request.method == "POST" and "resume" in request.files:
file = request.files.get("resume")
if not file or file.filename == "":
return render_template("index.html", result={"error": "No file uploaded"})
ext = file.filename.rsplit('.', 1)[1].lower()
try:
resume_text_global = extract_text_from_file(file, ext)
result = predict_role(resume_text_global)
except Exception as e:
result = {"error": f"Processing error: {str(e)}"}
return render_template("index.html", result=result)
@app.route("/chat", methods=["POST"])
def chat():
user_message = request.json.get("message", "")
response = ask_chatbot(resume_text_global, user_message)
return jsonify({"response": response})
if __name__ == "__main__":
print("Starting Flask server at http://127.0.0.1:8000")
app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))