Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -247,18 +247,25 @@ def end_interview(state):
|
|
247 |
return convert_for_gradio(state["conversation"]), state
|
248 |
|
249 |
def prepare_downloadable_summary(state):
|
|
|
|
|
|
|
|
|
|
|
250 |
summary = {
|
251 |
"name": state["name"],
|
252 |
"domain": state["domain"],
|
253 |
"level": state["level"],
|
254 |
"company": state["company"],
|
255 |
-
"score": f"{
|
|
|
|
|
256 |
"evaluations": state["evaluations"]
|
257 |
}
|
258 |
|
259 |
with tempfile.NamedTemporaryFile(mode="w+", delete=False, suffix=".json") as f:
|
260 |
json.dump(summary, f, indent=4)
|
261 |
-
return f.name
|
262 |
|
263 |
def clear_state():
|
264 |
return [], reset_state("", "", "", "Entry-Level")
|
|
|
247 |
return convert_for_gradio(state["conversation"]), state
|
248 |
|
249 |
def prepare_downloadable_summary(state):
|
250 |
+
total_score = sum(rating_scores.get(ev["rating"], 0) for ev in state["evaluations"])
|
251 |
+
max_score = len(state["evaluations"]) * 3
|
252 |
+
percentage = (total_score / max_score * 100) if max_score > 0 else 0
|
253 |
+
category = next(label for threshold, label in score_categories if percentage >= threshold)
|
254 |
+
|
255 |
summary = {
|
256 |
"name": state["name"],
|
257 |
"domain": state["domain"],
|
258 |
"level": state["level"],
|
259 |
"company": state["company"],
|
260 |
+
"score": f"{total_score}/{max_score}",
|
261 |
+
"percentage": round(percentage, 2),
|
262 |
+
"category": category,
|
263 |
"evaluations": state["evaluations"]
|
264 |
}
|
265 |
|
266 |
with tempfile.NamedTemporaryFile(mode="w+", delete=False, suffix=".json") as f:
|
267 |
json.dump(summary, f, indent=4)
|
268 |
+
return f.name
|
269 |
|
270 |
def clear_state():
|
271 |
return [], reset_state("", "", "", "Entry-Level")
|