删除 _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