From bb2becdf7bae19bb80985e02f5f435767c9d7f44 Mon Sep 17 00:00:00 2001 From: songchunyi <2402265378@qq.com> Date: Tue, 25 Aug 2026 03:41:16 +0000 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20=5Ffix=5Fdup.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _fix_dup.py | 61 ----------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 _fix_dup.py diff --git a/_fix_dup.py b/_fix_dup.py deleted file mode 100644 index 159790c5..00000000 --- a/_fix_dup.py +++ /dev/null @@ -1,61 +0,0 @@ -import sys - -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: - lines = f.readlines() - -# 删除重复的 failMsg 声明和重复的检查逻辑 (行2402-2411,0索引为2401-2410) -# 但行号可能因之前的编辑有偏移,用内容查找 -del_start = None -del_end = None -for i, line in enumerate(lines): - if 'debugPrint' in line and '创建设备任务失败' in line and 'failure' in line: - # 检查下一行是否是重复的 final failMsg - if i+1 < len(lines) and 'final failMsg = failure.toString();' in lines[i+1]: - # 找到了重复的起点 - del_start = i # debugPrint 行 - # 找到这个重复块的结束:下一个 return; 之后的 }, - for j in range(i+2, len(lines)): - if '// 其他失败' in lines[j] or (lines[j].strip() == 'return;' and 'taskCubit.clearCurrentTask();' in lines[j-1]): - # 更精确:找到 " return;" 且前一行是 taskCubit.clearCurrentTask - if lines[j].strip() == 'return;': - del_end = j + 1 # 包含 return; 行 - break - if del_end is None: - # 备选:找到下一个 ' },' (fold 成功回调的开始) - for j in range(i+2, len(lines)): - if lines[j].strip().startswith('},') and 'taskId' in lines[j+1]: - del_end = j - break - break - -if del_start is not None and del_end is not None: - print(f'Deleting lines {del_start+1} to {del_end}') - for k in range(del_start, del_end): - print(f' DEL: L{k+1}: {lines[k].rstrip()}') - del lines[del_start:del_end] -else: - print('Could not find duplicate block, checking for alternate pattern...') - # 备选:直接搜索两个 final failMsg 行 - failmsg_lines = [] - for i, line in enumerate(lines): - if 'final failMsg = failure.toString();' in line: - failmsg_lines.append(i) - print(f'failMsg lines: {[l+1 for l in failmsg_lines]}') - if len(failmsg_lines) >= 2: - # 删除第二个 failMsg 及它所属的整个重复检查块 - second = failmsg_lines[1] - # 从第二个 failMsg 前一行 (debugPrint) 开始删 - start = second - 1 - # 找到这个 block 的结束 - end = second + 8 # 大约8行后是这个重复块的结束 - print(f'Alt: deleting lines {start+1} to {end}') - for k in range(start, min(end, len(lines))): - print(f' DEL: L{k+1}: {lines[k].rstrip()}') - del lines[start:end] - -with open(path, 'w', encoding='utf-8', newline='') as f: - f.writelines(lines) - -print('DONE')