#!/usr/bin/env python3
from pathlib import Path
import subprocess

BASE = Path("/home/dayhanbiz/public_html/biblioteka/тестирование скриптов/Сортировка по шрифту")
SOURCE = BASE / "Неотсортированные файлы"
TARGET = BASE / "Отсортированные - Туркменский Латиница"
LOG_DIR = BASE / "Скрипты" / "Temporary process files"

TARGET.mkdir(parents=True, exist_ok=True)
LOG_DIR.mkdir(parents=True, exist_ok=True)

# Только уникальные буквы туркменского латиницы
TURKMEN_LATIN = set(['Ç','ç','Ä','ä','Ž','ž','Ň','ň','Ö','ö','Ş','ş','Ü','ü','Ý','ý'])

def extract_pages_5_7_9(pdf_path):
    try:
        text_total = ""
        
        for page in [5, 7, 9]:
            result = subprocess.run([
                'pdftotext', '-f', str(page), '-l', str(page), '-r', '300',
                str(pdf_path), '-'
            ], stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=40)

            page_text = result.stdout.decode('utf-8', errors='ignore')
            text_total += page_text

        # Сохраняем весь извлечённый текст
        log_file = LOG_DIR / f"{pdf_path.stem}_pages5-7-9.txt"
        with open(log_file, "w", encoding="utf-8") as f:
            f.write(text_total)

        return text_total, log_file

    except Exception as e:
        print(f"Ошибка: {pdf_path.name} → {e}")
        return "", None

print("=== Скрипт 5. Проверка страниц 5,7,9 на туркменский латиницу (pdftotext) ===")
pdf_files = list(SOURCE.glob("*.pdf"))
print(f"Найдено файлов: {len(pdf_files)}\n")

moved = 0
for pdf in pdf_files:
    text, log_file = extract_pages_5_7_9(pdf)
    turkmen_count = sum(1 for c in text if c in TURKMEN_LATIN)
    
    if turkmen_count >= 40:
        try:
            pdf.rename(TARGET / pdf.name)
            print(f"→ Туркменский Латиница ({turkmen_count} уникальных букв): {pdf.name}")
            moved += 1
            print(f"   Лог сохранён: {log_file.name}")
        except Exception as e:
            print(f"Ошибка перемещения {pdf.name}: {e}")
    else:
        print(f"   Не туркменский латиница ({turkmen_count} букв): {pdf.name}")
        if log_file and log_file.exists():
            log_file.unlink()

print(f"\n=== Завершено. Перемещено в Туркменский Латиница: {moved} файлов ===")
print(f"Логи сохранены только для перемещённых файлов.")
