删除 _fix_flow.py
This commit is contained in:
92
_fix_flow.py
92
_fix_flow.py
@@ -1,92 +0,0 @@
|
|||||||
import re
|
|
||||||
|
|
||||||
path = r'C:\Users\jsmbz\Documents\flutter-app-02\lib\features\home\presentation\widgets\map\testmap_pages.dart'
|
|
||||||
|
|
||||||
with open(path, 'r', encoding='utf-8') as f:
|
|
||||||
content = f.read()
|
|
||||||
|
|
||||||
# Fix 1: Add var failed = false and if(failed) return, plus else branch for needRequery
|
|
||||||
old_block = """ var needRequery = false;
|
|
||||||
result.fold(
|
|
||||||
(failure) {
|
|
||||||
final failMsg = failure.toString();
|
|
||||||
if (failMsg.contains('存在任务') || failMsg.contains('already exists')) {
|
|
||||||
needRequery = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_showPageToast(message: '作业启动失败', type: ToastType.error);
|
|
||||||
taskCubit.clearCurrentTask();
|
|
||||||
return;
|
|
||||||
},
|
|
||||||
(taskId) {
|
|
||||||
taskCubit.updateCurrentTaskId(taskId);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
if (needRequery) {
|
|
||||||
await taskCubit.fetchAndFilterTask(deviceId);
|
|
||||||
await Future.delayed(const Duration(milliseconds: 300));
|
|
||||||
final existingTasks = taskCubit.state.activeTasks;
|
|
||||||
if (existingTasks.isNotEmpty) {
|
|
||||||
taskCubit.selectTask(existingTasks.first);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}"""
|
|
||||||
|
|
||||||
new_block = """ var needRequery = false;
|
|
||||||
var failed = false;
|
|
||||||
result.fold(
|
|
||||||
(failure) {
|
|
||||||
final failMsg = failure.toString();
|
|
||||||
if (failMsg.contains('存在任务') || failMsg.contains('already exists')) {
|
|
||||||
needRequery = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
failed = true;
|
|
||||||
debugPrint('[开始作业] 创建失败: $failMsg');
|
|
||||||
_showPageToast(message: '作业启动失败', type: ToastType.error);
|
|
||||||
taskCubit.clearCurrentTask();
|
|
||||||
return;
|
|
||||||
},
|
|
||||||
(taskId) {
|
|
||||||
taskCubit.updateCurrentTaskId(taskId);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
if (failed) return;
|
|
||||||
if (needRequery) {
|
|
||||||
await taskCubit.fetchAndFilterTask(deviceId);
|
|
||||||
await Future.delayed(const Duration(milliseconds: 300));
|
|
||||||
final existingTasks = taskCubit.state.activeTasks;
|
|
||||||
if (existingTasks.isNotEmpty) {
|
|
||||||
taskCubit.selectTask(existingTasks.first);
|
|
||||||
} else {
|
|
||||||
debugPrint('[开始作业] needRequery 后仍无活跃任务');
|
|
||||||
_showPageToast(message: '未找到活跃任务', type: ToastType.warn);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}"""
|
|
||||||
|
|
||||||
if old_block in content:
|
|
||||||
content = content.replace(old_block, new_block)
|
|
||||||
print("Block replaced successfully")
|
|
||||||
else:
|
|
||||||
print("Block NOT FOUND in file!")
|
|
||||||
# Try tab indentation
|
|
||||||
old_block_tabs = old_block.replace(' ', '\t\t\t\t')
|
|
||||||
if old_block_tabs in content:
|
|
||||||
content = content.replace(old_block_tabs, new_block.replace(' ', '\t\t\t\t'))
|
|
||||||
print("Block replaced with TABS")
|
|
||||||
else:
|
|
||||||
# Find the unique line
|
|
||||||
for i, line in enumerate(content.split('\n')):
|
|
||||||
if 'var needRequery = false;' in line and 'result.fold(' in content.split('\n')[i+1]:
|
|
||||||
print(f"Found at line {i+1}: {repr(line)}")
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
print("Could not find needRequery line")
|
|
||||||
|
|
||||||
with open(path, 'w', encoding='utf-8', newline='') as f:
|
|
||||||
f.write(content)
|
|
||||||
|
|
||||||
print("Done")
|
|
||||||
Reference in New Issue
Block a user