domovoy_bot/services/gis_pdf_pipeline/SPECKIT_PLAN.md

25 lines
2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🏗️ SPECKIT_PLAN: Архитектура
## Модуль 1: Анализатор улик (`evidence_analyzer.py`)
- Открывает `evidence.png`.
- Использует Gemini Vision API (или локальный OCR) для извлечения сущностей: НОМЕР, ДАТА, СТАТУС.
- Возвращает словарь метаданных.
## Модуль 2: Конвертер и Теггер (`pdf_tagger.py`)
- Принимает картинку или документ и метаданные.
- Для картинок: создает страницу A4, вставляет картинку, сверху через `reportlab` рисует текстовый блок с метаданными (Header-тег).
- Для существующих PDF: использует `PyPDF2`, чтобы "наложить" (watermark) текстовый слой с тегами поверх оригинальной страницы.
- Для DOCX: использует `LibreOffice` (headless) или `python-docx` для первичной конвертации в PDF, затем тегирует.
## Модуль 3: Распаковщик (`unzipper.py`)
- Безопасная распаковка ZIP во временную директорию (игнорируя мусорные файлы macOS/Windows).
## Модуль 4: Сборщик (Merger - `pipeline_main.py`)
- Оркестрирует процесс.
- Проходит по всем каталогам дел в `/raw/`.
- Вызывает Модуль 1, затем Модуль 3, затем Модуль 2 для каждого файла.
- Объединяет все обработанные PDF в единый `TOTAL_GIS_ARCHIVE.pdf`.
## Модуль 5: Google Drive Uploader (`gdrive_uploader.py`)
- Использует готовый `domovoy_google_creds.json`.
- Ищет файл `TOTAL_GIS_ARCHIVE.pdf` на Диске. Если есть — обновляет (Update_Media), если нет — загружает (Insert).