feat(hot-reload): Final high-integrity refactor with restored code regions
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
import sys
|
||||
import re
|
||||
|
||||
def restore():
|
||||
file_path = "src/gui_2.py"
|
||||
with open(file_path, "r", encoding="utf-8") as f:
|
||||
lines = f.read().splitlines()
|
||||
|
||||
# Regions and their member functions (module-level)
|
||||
region_map = {
|
||||
"Diagnostics & Analytics": ["render_usage_analytics_panel", "render_diagnostics_panel"],
|
||||
"Logging": ["render_log_management"],
|
||||
"Project Management": ["render_project_settings_hub"],
|
||||
"AI Settings": ["render_ai_settings_hub", "render_preset_manager_content", "render_preset_manager_window", "render_tool_preset_manager_content", "render_tool_preset_manager_window", "render_persona_editor_window"],
|
||||
"Context Management": ["render_files_and_media", "render_files_panel", "render_screenshots_panel", "render_context_batch_actions", "render_add_context_files_modal"],
|
||||
"Discussions": ["render_discussion_hub", "render_discussion_entry", "render_discussion_entry_read_mode"],
|
||||
"Operations Monitor": ["render_operations_hub", "render_message_panel", "render_response_panel", "render_tool_calls_panel", "render_external_tools_panel"],
|
||||
"Misc Tools": ["render_text_viewer", "render_heavy_text", "render_thinking_trace", "render_selectable_label", "render_window_if_open"],
|
||||
"MMA": ["render_mma_dashboard", "render_mma_modals", "render_mma_track_summary", "render_mma_epic_planner", "render_mma_conductor_setup", "render_mma_track_browser", "render_mma_global_controls", "render_mma_usage_section", "render_mma_ticket_editor", "render_mma_agent_streams", "render_tier_stream_panel", "render_track_proposal_modal"]
|
||||
}
|
||||
|
||||
# 1. Find where extracted functions start
|
||||
start_idx = -1
|
||||
for i, line in enumerate(lines):
|
||||
if line.startswith("def render_") and not "render_error_tint" in line:
|
||||
start_idx = i
|
||||
break
|
||||
|
||||
if start_idx == -1: return
|
||||
|
||||
prefix = lines[:start_idx]
|
||||
func_lines = lines[start_idx:]
|
||||
|
||||
# 2. Extract each function block
|
||||
func_blocks = {}
|
||||
i = 0
|
||||
while i < len(func_lines):
|
||||
if func_lines[i].startswith("def "):
|
||||
m = re.match(r"def (\w+)\(", func_lines[i])
|
||||
if m:
|
||||
f_name = m.group(1)
|
||||
f_start = i
|
||||
f_end = len(func_lines)
|
||||
for j in range(i + 1, len(func_lines)):
|
||||
if func_lines[j].startswith("def "):
|
||||
f_end = j
|
||||
break
|
||||
func_blocks[f_name] = "\n".join(func_lines[f_start:f_end])
|
||||
i = f_end - 1
|
||||
i += 1
|
||||
|
||||
# 3. Re-assemble with regions
|
||||
assembled = []
|
||||
assigned = set()
|
||||
for r_name, funcs in region_map.items():
|
||||
group = []
|
||||
for f in funcs:
|
||||
if f in func_blocks:
|
||||
group.append(func_blocks[f])
|
||||
assigned.add(f)
|
||||
if group:
|
||||
assembled.append(f"#region: {r_name}\n\n" + "\n\n".join(group) + f"\n\n#endregion: {r_name}")
|
||||
|
||||
# 4. Append unassigned (like render_error_tint)
|
||||
for f_name, block in func_blocks.items():
|
||||
if f_name not in assigned:
|
||||
assembled.append(block)
|
||||
|
||||
final_content = "\n".join(prefix) + "\n\n" + "\n\n".join(assembled) + "\n"
|
||||
with open(file_path, "w", encoding="utf-8") as f:
|
||||
f.write(final_content)
|
||||
print("Regions restored successfully.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
restore()
|
||||
+1830
-1705
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user