import argparse
import re

def parse_args() -> argparse.Namespace:
    parser = argparse.ArgumentParser(description="删除最近10条标题内容")
    parser.add_argument(
        "--input",
        default="source/output/reports/2_up_analysis_full_auto.md",
        help="输入报告路径",
    )
    parser.add_argument(
        "--output",
        help="输出报告路径（默认覆盖输入）",
    )
    return parser.parse_args()

def main():
    args = parse_args()
    input_file = args.input
    output_file = args.output or input_file

    with open(input_file, 'r', encoding='utf-8') as f:
        content = f.read()

    lines = content.split('\n')
    new_lines = []
    i = 0
    while i < len(lines):
        line = lines[i]
        new_lines.append(line)
        
        if line.startswith('## '):
            i += 1
            while i < len(lines):
                curr = lines[i]
                if curr.startswith('## '):
                    break
                if curr.startswith('### '):
                    if '最近10条标题' in curr:
                        i += 1
                        while i < len(lines) and lines[i].startswith(' - '):
                            i += 1
                        continue
                    else:
                        break
                if curr.startswith('- ') and not curr.startswith(' - '):
                    i += 1
                    continue
                if curr.startswith(' - '):
                    i += 1
                    continue
                new_lines.append(curr)
                i += 1
        else:
            i += 1

    result = '\n'.join(new_lines)
    result = re.sub(r'\n{3,}', '\n\n', result)

    with open(output_file, 'w', encoding='utf-8') as f:
        f.write(result)

    print(f'Done: {output_file}')
    return 0

if __name__ == "__main__":
    raise SystemExit(main())