import os

from document.pdf_renderer import pdf_to_images
from document.ocr_engine import extract_text
from document.translator_engine import translate
from document.pdf_rebuilder import create_pdf

from core.logger import log


def process_document(pdf_path, temp_dir, output_dir):

    log("INICIO MOTOR DOCUMENTAL PRO")

    img_dir = os.path.join(temp_dir, "images")

    images = pdf_to_images(pdf_path, img_dir)

    translated_pages = []

    for img in images:

        log(f"OCR: {img}")

        text = extract_text(img)

        log("TRADUCIENDO")

        translated = translate(text)

        translated_pages.append(translated)

    output_pdf = os.path.join(
        output_dir,
        "PRO_" + os.path.basename(pdf_path)
    )

    log("RECONSTRUYENDO PDF")

    create_pdf(translated_pages, output_pdf)

    log("COMPLETADO ✔")

    return output_pdf