feat(gui): Add link deletion and DAG cycle validation to Visual DAG
This commit is contained in:
46
temp_edit3.py
Normal file
46
temp_edit3.py
Normal file
@@ -0,0 +1,46 @@
|
||||
with open('src/gui_2.py', 'r', encoding='utf-8', newline='') as f:
|
||||
content = f.read()
|
||||
|
||||
old = ''' # Handle link deletion
|
||||
if ed.begin_delete():
|
||||
deleted = ed.get_deleted_link()
|
||||
if deleted:
|
||||
link_id = deleted[0]
|
||||
for t in self.active_tickets:
|
||||
tid = str(t.get('id', ''))
|
||||
for d in t.get('depends_on', []):
|
||||
if abs(hash(d + "_" + tid)) == link_id:
|
||||
t['depends_on'] = [dep for dep in t['depends_on'] if dep != d]
|
||||
self._push_mma_state_update()
|
||||
break
|
||||
ed.end_delete()
|
||||
ed.end()'''
|
||||
|
||||
new = ''' # Handle link deletion
|
||||
if ed.begin_delete():
|
||||
deleted = ed.get_deleted_link()
|
||||
if deleted:
|
||||
link_id = deleted[0]
|
||||
for t in self.active_tickets:
|
||||
tid = str(t.get('id', ''))
|
||||
for d in t.get('depends_on', []):
|
||||
if abs(hash(d + "_" + tid)) == link_id:
|
||||
t['depends_on'] = [dep for dep in t['depends_on'] if dep != d]
|
||||
self._push_mma_state_update()
|
||||
break
|
||||
ed.end_delete()
|
||||
# Validate DAG after any changes
|
||||
try:
|
||||
from src.dag_engine import TrackDAG
|
||||
ticket_dicts = [{'id': str(t.get('id', '')), 'depends_on': t.get('depends_on', [])} for t in self.active_tickets]
|
||||
temp_dag = TrackDAG(ticket_dicts)
|
||||
if temp_dag.has_cycle():
|
||||
imgui.open_popup("Cycle Detected!")
|
||||
except Exception:
|
||||
pass
|
||||
ed.end()'''
|
||||
|
||||
content = content.replace(old, new)
|
||||
with open('src/gui_2.py', 'w', encoding='utf-8', newline='') as f:
|
||||
f.write(content)
|
||||
print('Done')
|
||||
Reference in New Issue
Block a user