2.4 KiB
2.4 KiB
scan_files_v1.0
Verze: 1.0
Datum: 2026-06-03
Skript: scan_files_v1.0.py
Účel
Rekurzivní sken dvou Dropbox složek studií (!!42847922MDD3003, !77242113UCO3001) a zápis metadat všech souborů do MongoDB.
Konfigurace
- MongoDB:
mongodb://192.168.1.76:27017(bez autentizace) - DB:
soubory - Kolekce:
42847922MDD3003,77242113UCO3001(jedna kolekce na studii) - Cesta k Dropboxu: zjištěna pomocí
Knihovny/najdi_dropbox.py(přenositelné mezi PC)
Struktura dokumentu v MongoDB
| pole | popis |
|---|---|
path |
absolutní cesta (unikátní klíč) |
study |
kód studie (= název kolekce) |
rel_path |
relativní cesta od kořene studie |
dir, rel_dir |
nadřazený adresář (absolutní/relativní) |
parent_folders |
pole názvů složek (pro filtrování) |
name, stem, ext |
jméno, jméno bez přípony, přípona (lower-case) |
size_bytes |
velikost |
mtime, ctime, atime |
časové údaje (UTC) |
sha256 |
hash obsahu |
mime |
mimetype dle přípony |
tokens |
jméno rozparsované na slova/čísla (lower-case) |
dates_in_name |
datumy nalezené v názvu, formát YYYY-MM-DD |
first_seen_at |
první sken, kdy byl soubor viděn |
last_seen_at |
poslední sken, kdy byl viděn |
deleted_at |
nastaveno, pokud soubor v posledním skenu už nebyl nalezen |
Datumy v názvu
Skript hledá tři varianty:
12JAN2026,12Jan2026(den + 3-písm. zkratka měsíce + rok)2026-01-12,2026_01_12,2026.01.1212-01-2026,12_01_2026,12.01.2026
Všechny se normalizují do ISO YYYY-MM-DD v poli dates_in_name.
Inkrementální chování
size_bytes+mtimesouhlasí se záznamem v DB → SHA256 se nepřepočítává, jen se aktualizujelast_seen_at- nový soubor → vloží se s
first_seen_at - chybějící v aktuálním běhu →
deleted_atse nastaví na čas běhu
Co se ignoruje
.dropbox*,Thumbs.db,desktop.ini,~$*.*(Office locky),.DS_Store- adresář
.dropbox.cache
Spuštění
python U:\PythonProject\Janssen\Soubory\scan_files_v1.0.py
Index pole pro rychlé dotazy
path (unique), ext, dates_in_name, tokens, sha256
Plán pokračování
- Spustit první sken → zjistit profil dat (přípony, hloubku stromů)
- Doplnit dle potřeby (např. počet stran PDF, autor DOCX, listy XLSX)
- Postavit
MCP_SOUBORYserver nad touto kolekcí