fix: Correct double backslash escaping of newlines in SSE responses.

main
MrWaradana 4 weeks ago
parent 75bec015ea
commit fbab85ff50

@ -150,17 +150,17 @@ async def simulate_all_equipment(db_session: DbSession, token: Token):
try: try:
assetnums = await get_all_assetnums(db_session=db_session) assetnums = await get_all_assetnums(db_session=db_session)
except Exception as e: except Exception as e:
yield f"data: {json.dumps({'status':'error', 'message': f'Failed to fetch assetnums: {str(e)}'})}\\n\\n" yield f"data: {json.dumps({'status':'error', 'message': f'Failed to fetch assetnums: {str(e)}'})}\n\n"
return return
total = len(assetnums) total = len(assetnums)
yield f"data: {json.dumps({'status':'started', 'message': f'Simulasi dimulai untuk {total} asset'})}\\n\\n" yield f"data: {json.dumps({'status':'started', 'message': f'Simulasi dimulai untuk {total} asset'})}\n\n"
success_count = 0 success_count = 0
error_count = 0 error_count = 0
for idx, assetnum in enumerate(assetnums, start=1): for idx, assetnum in enumerate(assetnums, start=1):
yield f"data: {json.dumps({'status':'working', 'step':f'Proses {idx}/{total}', 'assetnum': assetnum})}\\n\\n" yield f"data: {json.dumps({'status':'working', 'step':f'Proses {idx}/{total}', 'assetnum': assetnum})}\n\n"
try: try:
# Update acquisition year and target year # Update acquisition year and target year
@ -174,10 +174,10 @@ async def simulate_all_equipment(db_session: DbSession, token: Token):
success_count += 1 success_count += 1
except Exception as e: except Exception as e:
error_count += 1 error_count += 1
yield f"data: {json.dumps({'status':'partial_error', 'assetnum': assetnum, 'message': str(e)})}\\n\\n" yield f"data: {json.dumps({'status':'partial_error', 'assetnum': assetnum, 'message': str(e)})}\n\n"
continue continue
yield f"data: {json.dumps({'status':'done', 'message':f'Simulasi selesai. Success: {success_count}, Errors: {error_count}'})}\\n\\n" yield f"data: {json.dumps({'status':'done', 'message':f'Simulasi selesai. Success: {success_count}, Errors: {error_count}'})}\n\n"
headers = { headers = {
"Content-type": "text/event-stream", "Content-type": "text/event-stream",

Loading…
Cancel
Save