feat: поддержка .doc через LibreOffice headless
Deploy drhider / validate (push) Waiting to run

- extractor.py: добавлена doc_to_markdown() — .doc → .docx (soffice) → docx_to_markdown()
- Dockerfile: apt install libreoffice-writer
- ARCHITECTURE.md: обновлён статус .doc
- bump: 0.0.16 → 0.0.17
This commit is contained in:
2026-07-14 07:21:39 +04:00
parent 444ef4b732
commit 00d54dbfb6
4 changed files with 56 additions and 5 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ site/app.py ──→ Flask (create_app)
| **`.pdf`** | → Markdown | Текст + таблицы (`pdfplumber`), без форматирования |
| **`.txt`** и прочие текстовые | → как есть | Декодируется UTF-8, ошибки заменяются `` |
| **`.zip`** | → распаковка | Файлы внутри обрабатываются рекурсивно. Защита от ZIP-бомб: ≤500 файлов, ratio ≤100:1, ≤500 MB |
| **`.doc`** (бинарный) | ❌ не поддерживается | Возвращает заглушку `[DOC binary — not supported. Convert to .docx first.]` |
| **`.doc`** (бинарный) | → Docx → Markdown | LibreOffice headless: .doc → .docx → штатный `docx_to_markdown()` (таблицы, форматирование). Требует `libreoffice-writer` в контейнере |
Ограничение на размер загрузки: **200 MB** (`MAX_CONTENT_LENGTH`).