import re
import difflib
import sys

def get_myanmar_text(filepath):
    try:
        with open(filepath, 'r', encoding='utf-8') as f:
            text = f.read()
        myanmar_chars = ''.join(re.findall(r'[\u1000-\u109F]+', text))
        return myanmar_chars
    except Exception as e:
        print(f"Error reading {filepath}: {e}")
        return ""

std_file = "An Duc Tam Bao/tam_bao_021_030_standard.txt"
ext_file = "An Duc Tam Bao/tam_bao_021_030_fixed.md"

std_text = get_myanmar_text(std_file)
ext_text = get_myanmar_text(ext_file)

if not std_text or not ext_text:
    print("Error extracting Myanmar text.")
    sys.exit(1)

def calc_accuracy(ref, hyp):
    matcher = difflib.SequenceMatcher(None, ref, hyp)
    return matcher.ratio() * 100

acc = calc_accuracy(std_text, ext_text)

print(f"Standard Length: {len(std_text)}")
print(f"Extracted Length: {len(ext_text)}")
print(f"Accuracy: {acc:.2f}%")
