# -*- coding: utf-8 -*-
r"""B38: soi 2 điểm nghi trong bản cô đọng ("34 lô", "34 độ") + liệt kê ký tự lạ."""
import os, re, collections

D = r'C:\Claw 2\QC\_tomtat_2809_1010'
for ten, fn, ft in (('LOC', 'NGUON_LOC.md', 'TOM_LOC.md'), ('TRI', 'NGUON_TRI.md', 'TOM_TRI.md')):
    ng = open(os.path.join(D, fn), encoding='utf-8', errors='replace').read()
    tm = open(os.path.join(D, ft), encoding='utf-8', errors='replace').read()
    print('=== %s ===' % ten)
    for tu in ('34 lô', '34 độ'):
        for m in re.finditer(re.escape(tu), tm):
            print('  [%s] trong bản cô đọng: ...%s...' % (tu, tm[max(0, m.start() - 120):m.end() + 80].replace('\n', ' ')))
            # tìm "34" trong nguồn gần chữ "lô"/"độ"
            for mm in re.finditer(r'34', ng):
                c = ng[max(0, mm.start() - 60):mm.end() + 60]
                if 'lô' in c or 'độ' in c:
                    print('      nguồn?: ...%s...' % c.replace('\n', ' '))
                    break
    ky = collections.Counter(c for c in tm if ord(c) > 0x2100 and c not in '—–≥≤Δ∆²³°…“”‘’·※')
    print('  ký tự lạ:', dict(ky))
    print()
