25 lines
2 KiB
Markdown
25 lines
2 KiB
Markdown
# 🏗️ 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).
|