#!/usr/bin/env python3
"""检查第5句的字幕文本"""
import os
import re

# 导入编码处理模块
from console_helper import safe_print, print_header, print_info, print_done

def parse_srt_file(subtitle_path):
    """解析SRT字幕文件，返回每句的字幕文本"""
    subtitles = {}
    try:
        with open(subtitle_path, 'r', encoding='utf-8') as f:
            content = f.read()

        # 按空行分割字幕块
        blocks = content.strip().split('\n\n')

        for block in blocks:
            lines = block.strip().split('\n')
            if len(lines) >= 3:
                # 第一行是序号
                line_number = int(lines[0].strip())
                # 获取字幕文本（可能有多行）
                text = ' '.join(lines[2:])
                subtitles[line_number] = text

        return subtitles
    except Exception as e:
        safe_print(f"      解析字幕文件失败: {e}")
        return {}

def main():
    print_header("检查第5句字幕")
    
    subtitle_path = "subtitles.srt"
    
    if not os.path.exists(subtitle_path):
        safe_print(f"错误: 字幕文件 {subtitle_path} 不存在")
        return
    
    # 解析字幕文件
    subtitles = parse_srt_file(subtitle_path)
    
    if 5 in subtitles:
        text = subtitles[5]
        print_info("第5句文本", f"'{text}'")
        print_info("长度", str(len(text)))
        
        # 检查是否有特殊字符
        special_chars = re.findall(r'[\\\'\"`]', text)
        if special_chars:
            print_info("特殊字符", f"{special_chars}")
        else:
            print_info("特殊字符", "无")
    else:
        safe_print("警告: 没有找到第5句字幕")
    
    print_done()

if __name__ == '__main__':
    main()
