# -*- coding: utf-8 -*-
r"""B177: bóc 12 mục tháng 10 (01/10->14/10) của 2 sổ + liệt kê bài học tháng 10 trong CSDL C."""
import io, os, re, sqlite3

QC = r'C:\Claw 2\QC'
RA = os.path.join(QC, '_baihoc_1010')
os.makedirs(RA, exist_ok=True)
RE_H = re.compile(r'^# BÁO CÁO[^\n]*CẬP NHẬT\s*(\d{1,2})/(\d{1,2})/(\d{4})', re.M)
TU, DEN = (2026, 10, 1), (2026, 10, 14)

for f, ten in (('Locqc.md', 'LOC'), ('Tri qc.md', 'TRI')):
    s = io.open(os.path.join(QC, f), encoding='utf-8').read()
    hs = [(m.start(), int(m.group(1)), int(m.group(2)), int(m.group(3))) for m in RE_H.finditer(s)]
    hs.append((len(s), 0, 0, 0))
    ra, ds = [], []
    for i in range(len(hs) - 1):
        _, d, mo, y = hs[i]
        if TU <= (y, mo, d) <= DEN:
            ra.append(s[hs[i][0]:hs[i + 1][0]].rstrip() + '\n')
            ds.append('%02d/%02d' % (d, mo))
    p = os.path.join(RA, 'NGUON_%s_T10.md' % ten)
    io.open(p, 'w', encoding='utf-8').write('\n\n'.join(ra))
    print('  %-12s %2d mục (%s) | %d ký tự' % (f, len(ds), ', '.join(ds), os.path.getsize(p)))

print('  === CSDL C — kinh_nghiem tháng 10/2026:')
c = sqlite3.connect('file:C:/Claw-Zalo/CSDLC/CSDLC.db?mode=ro', uri=True)
tong = c.execute("select count(*) from kinh_nghiem where ngay like '2026-10%'").fetchone()[0]
print('    số dòng tháng 10:', tong, '| tổng:', c.execute('select count(*) from kinh_nghiem').fetchone()[0])
mau = c.execute("select ngay, chu_de, substr(hien_tuong,1,70) from kinh_nghiem where ngay like '2026-10%' order by ngay").fetchall()
for r in mau[:40]:
    print('    %s | %s | %s' % (r[0], (r[1] or '')[:42], (r[2] or '').replace('\n', ' ')))
if len(mau) > 40:
    print('    ... còn %d dòng nữa' % (len(mau) - 40))
