30 lines
1.2 KiB
Python
30 lines
1.2 KiB
Python
with open("src/app_controller.py", "r", encoding="utf-8", newline="") as f:
|
|
content = f.read()
|
|
|
|
# Fix show_track_proposal handler to debug and handle properly
|
|
old = """elif action == "show_track_proposal":
|
|
self.proposed_tracks = task.get("payload", [])
|
|
self._show_track_proposal_modal = True"""
|
|
|
|
new = """elif action == "show_track_proposal":
|
|
# Handle both nested payload and direct list
|
|
raw_payload = task.get("payload")
|
|
sys.stderr.write(f"[DEBUG] show_track_proposal: raw_payload type={type(raw_payload)}, task={task}\\n")
|
|
sys.stderr.flush()
|
|
if isinstance(raw_payload, list):
|
|
self.proposed_tracks = raw_payload
|
|
elif isinstance(raw_payload, dict) and "tracks" in raw_payload:
|
|
self.proposed_tracks = raw_payload.get("tracks", [])
|
|
else:
|
|
self.proposed_tracks = []
|
|
sys.stderr.write(f"[DEBUG] show_track_proposal: final proposed_tracks={self.proposed_tracks}\\n")
|
|
sys.stderr.flush()
|
|
self._show_track_proposal_modal = True"""
|
|
|
|
content = content.replace(old, new)
|
|
|
|
with open("src/app_controller.py", "w", encoding="utf-8", newline="") as f:
|
|
f.write(content)
|
|
|
|
print("Fixed show_track_proposal handler")
|