Replace sx_call() with render_to_sx() across all services
Python no longer generates s-expression strings. All SX rendering now goes through render_to_sx() which builds AST from native Python values and evaluates via async_eval_to_sx() — no SX string literals in Python. - Add render_to_sx()/render_to_html() infrastructure in shared/sx/helpers.py - Add (abort status msg) IO primitive in shared/sx/primitives_io.py - Convert all 9 services: ~650 sx_call() invocations replaced - Convert shared helpers (root_header_sx, full_page_sx, etc.) to async - Fix likes service import bug (likes.models → models) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -111,19 +111,19 @@ def register():
|
||||
# Success → re-render the slots table
|
||||
slots = await svc_list_slots(g.s, g.calendar.id)
|
||||
from sx.sx_components import render_slots_table
|
||||
return sx_response(render_slots_table(slots, g.calendar))
|
||||
return sx_response(await render_slots_table(slots, g.calendar))
|
||||
|
||||
|
||||
@bp.get("/add")
|
||||
@require_admin
|
||||
async def add_form(**kwargs):
|
||||
from sx.sx_components import render_slot_add_form
|
||||
return sx_response(render_slot_add_form(g.calendar))
|
||||
return sx_response(await render_slot_add_form(g.calendar))
|
||||
|
||||
@bp.get("/add-button")
|
||||
@require_admin
|
||||
async def add_button(**kwargs):
|
||||
from sx.sx_components import render_slot_add_button
|
||||
return sx_response(render_slot_add_button(g.calendar))
|
||||
return sx_response(await render_slot_add_button(g.calendar))
|
||||
|
||||
return bp
|
||||
|
||||
Reference in New Issue
Block a user