# -*- coding: utf-8 -*-
"""Dựng CSDL D (hồ sơ vật liệu gỗ + yếu tố ảnh hưởng màu/quy trình sơn) từ dữ liệu ChatGPT.
Bước 1: phân tích file markdown -> in bản rà soát (chưa ghi DB)."""
import os, re, sqlite3, sys, json

TMP = os.path.expandvars(r'%LOCALAPPDATA%\Temp\csdlD')
MD = os.path.join(TMP, 'cau_hoi_1.md')


def sach(s):
    s = (s or '').strip()
    s = s.replace('**', '')
    s = re.sub(r'\s+', ' ', s)
    return s.strip(' |')


lines = open(MD, encoding='utf-8').read().split('\n')


def bang(bat_dau_tu_khoa, so_cot=12):
    """Lấy các dòng bảng bắt đầu từ dòng chứa từ khoá."""
    i = next(k for k, l in enumerate(lines) if bat_dau_tu_khoa in l)
    rows = []
    for l in lines[i + 1:]:
        if l.startswith('#'):
            break
        if l.count('|') >= so_cot - 1:
            rows.append([sach(x) for x in l.split('|')])
    return rows


go = bang('Loài (tên Việt)', 12)
yeu_to = bang('Yếu tố | Ảnh hưởng', 4)
map_qt = bang('Loài/nhóm nền', 5)

print('=== RÀ SOÁT PHÂN TÍCH ===')
print('bảng 1 (loài):', len(go), 'dòng · số cột mỗi dòng:', sorted(set(len(r) for r in go)))
print('bảng 2 (yếu tố):', len(yeu_to), '· cột:', sorted(set(len(r) for r in yeu_to)))
print('bảng 3 (map quy trình):', len(map_qt), '· cột:', sorted(set(len(r) for r in map_qt)))
print('\n--- 24 loài: tên | mạch | hút màu | loang | ngả vàng | độ cứng (rút gọn) ---')
for r in go:
    print('  · %-22s | %-22s | %-10s | %-9s | %-9s | %s' % (r[0][:22], r[3][:22], r[6][:10], r[7][:9], r[8][:9], r[9][:46]))
print('\n--- 12 yếu tố ---')
for r in yeu_to:
    print('  · %s' % r[0][:70])
print('\n--- map quy trình (%d dòng) ---' % len(map_qt))
for r in map_qt:
    print('  · %-24s | BB: %-22s | NC: %-20s | TR: %s' % (r[0][:24], r[1][:22], r[2][:20], r[3][:40]))
