Spaces:
Sleeping
Sleeping
Commit
·
ab44078
1
Parent(s):
3801c91
Add system
Browse files
app.py
CHANGED
|
@@ -240,6 +240,11 @@ def receive_feedback():
|
|
| 240 |
file_path = os.path.join(TMP_DIR, filename)
|
| 241 |
pledge_date = data.get("pledge_date", "")
|
| 242 |
pledge_author = data.get("pledge_author", "")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 243 |
|
| 244 |
if not os.path.exists(file_path):
|
| 245 |
return jsonify({"error": "Event file not found"}), 400
|
|
@@ -247,29 +252,36 @@ def receive_feedback():
|
|
| 247 |
with open(file_path, "r") as f:
|
| 248 |
events = json.load(f)
|
| 249 |
|
| 250 |
-
|
| 251 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 252 |
|
|
|
|
| 253 |
for idx, event in enumerate(events):
|
| 254 |
event["user_feedback"] = feedback_dict.get(idx)
|
| 255 |
|
| 256 |
log_entry = {
|
| 257 |
-
"requested_time":
|
| 258 |
-
"user_id":
|
| 259 |
"pledge": pledge,
|
|
|
|
|
|
|
|
|
|
| 260 |
"pledge_author": pledge_author,
|
| 261 |
"pledge_date": pledge_date,
|
| 262 |
"events": events
|
| 263 |
}
|
| 264 |
|
| 265 |
-
timestamp = data.get("timestamp")
|
| 266 |
-
user_id = data.get("user_id")
|
| 267 |
-
|
| 268 |
-
if not user_id or not timestamp:
|
| 269 |
-
return jsonify({'status': 'error', 'detail': 'Missing user_id or timestamp'}), 400
|
| 270 |
-
|
| 271 |
local_filename = f"{FEEDBACK_DIR}/feedback_{timestamp}_{user_id}.jsonl"
|
| 272 |
-
|
| 273 |
with open(local_filename, "w") as f:
|
| 274 |
f.write(json.dumps(log_entry, indent=1))
|
| 275 |
|
|
@@ -287,6 +299,7 @@ def receive_feedback():
|
|
| 287 |
|
| 288 |
return jsonify({'status': 'success'})
|
| 289 |
|
|
|
|
| 290 |
@app.route("/download-feedback/<filename>")
|
| 291 |
def download_feedback_file(filename):
|
| 292 |
return send_from_directory(FEEDBACK_DIR, filename, as_attachment=True)
|
|
|
|
| 240 |
file_path = os.path.join(TMP_DIR, filename)
|
| 241 |
pledge_date = data.get("pledge_date", "")
|
| 242 |
pledge_author = data.get("pledge_author", "")
|
| 243 |
+
timestamp = data.get("timestamp")
|
| 244 |
+
user_id = data.get("user_id")
|
| 245 |
+
|
| 246 |
+
if not user_id or not timestamp:
|
| 247 |
+
return jsonify({'status': 'error', 'detail': 'Missing user_id or timestamp'}), 400
|
| 248 |
|
| 249 |
if not os.path.exists(file_path):
|
| 250 |
return jsonify({"error": "Event file not found"}), 400
|
|
|
|
| 252 |
with open(file_path, "r") as f:
|
| 253 |
events = json.load(f)
|
| 254 |
|
| 255 |
+
suggestion_meta = None
|
| 256 |
+
time_start = None
|
| 257 |
+
time_end = None
|
| 258 |
+
try:
|
| 259 |
+
prev_log_path = f"{FEEDBACK_DIR}/feedback_{timestamp}_{user_id}.jsonl"
|
| 260 |
+
with open(prev_log_path, "r") as f:
|
| 261 |
+
previous_log = json.load(f)
|
| 262 |
+
suggestion_meta = previous_log.get("suggestion_meta")
|
| 263 |
+
time_start = previous_log.get("time_start")
|
| 264 |
+
time_end = previous_log.get("time_end")
|
| 265 |
+
except Exception:
|
| 266 |
+
pass
|
| 267 |
|
| 268 |
+
feedback_dict = {int(item['eventIndex']): item['answer'] for item in feedback_list}
|
| 269 |
for idx, event in enumerate(events):
|
| 270 |
event["user_feedback"] = feedback_dict.get(idx)
|
| 271 |
|
| 272 |
log_entry = {
|
| 273 |
+
"requested_time": timestamp,
|
| 274 |
+
"user_id": user_id,
|
| 275 |
"pledge": pledge,
|
| 276 |
+
"suggestion_meta": suggestion_meta,
|
| 277 |
+
"time_start": time_start,
|
| 278 |
+
"time_end": time_end,
|
| 279 |
"pledge_author": pledge_author,
|
| 280 |
"pledge_date": pledge_date,
|
| 281 |
"events": events
|
| 282 |
}
|
| 283 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 284 |
local_filename = f"{FEEDBACK_DIR}/feedback_{timestamp}_{user_id}.jsonl"
|
|
|
|
| 285 |
with open(local_filename, "w") as f:
|
| 286 |
f.write(json.dumps(log_entry, indent=1))
|
| 287 |
|
|
|
|
| 299 |
|
| 300 |
return jsonify({'status': 'success'})
|
| 301 |
|
| 302 |
+
|
| 303 |
@app.route("/download-feedback/<filename>")
|
| 304 |
def download_feedback_file(filename):
|
| 305 |
return send_from_directory(FEEDBACK_DIR, filename, as_attachment=True)
|