# enrich_files_v1.0 **Verze:** 1.0 **Datum:** 2026-06-03 **Skript:** `enrich_files_v1.0.py` ## Účel Doplnit do existujících záznamů v MongoDB `soubory.*` pole `content.*` parsovaná z obsahu souborů. Spouští se **až po** [scan_files_v1.0.py](scan_files_v1.0.md). ## Podporované přípony a pole | ext | knihovna | pole v `content` | |---|---|---| | pdf | pypdf | pages, encrypted, author, title, subject, creator, producer, created, modified, text_head | | docx | python-docx | author, title, subject, last_modified_by, paragraphs, words, created, modified, text_head | | xlsx, xlsm | openpyxl | total_sheets, sheets[{name,rows,cols}], author, title, subject, last_modified_by, created, modified | | pptx | python-pptx | slides, author, title, subject, last_modified_by, created, modified, text_head (z prvních 3 snímků) | | eml | stdlib email | subject, from, to, cc, date, has_attachments, attachments[], body_head | | msg | extract_msg | totéž co eml | S[DRY](../DRY)polečná pole vždy: `ok` (bool), `parsed_at`, `parser_version`, `sha256_at_parse`. Při chybě `error` (název výjimky + zpráva). ## Inkrementální chování Zpracují se jen dokumenty kde: - `content` chybí, NEBO - `content.parser_version` != aktuální verze (1.0), NEBO - `content.sha256_at_parse` != aktuální `sha256` (soubor se změnil) Při dalším spuštění **přidá** jen nové/změněné. Při zvýšení verze parseru přeparsuje vše. ## Limity (skip) - PDF nad 500 MB → ok=False, error="too_big_..." - XLSX nad 200 MB → ok=False - ostatní nad 300 MB → ok=False `text_head` max 2000 znaků. ## Spuštění ``` python U:\PythonProject\Janssen\Soubory\enrich_files_v1.0.py ``` ## Plán Po doběhnutí ověřit `content.ok` rate, případně doladit (chybové vzory) a teprve pak stavět `MCP_SOUBORY` server.