47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
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')
|