56 lines
3.1 KiB
Markdown
56 lines
3.1 KiB
Markdown
# OrdinaceProjekt
|
|
|
|
## DŮLEŽITÉ — pracovní adresář
|
|
|
|
Hlavní projekt je **adresář obsahující tento soubor CLAUDE.md** (kořen projektu OrdinaceProjekt).
|
|
Výsledné soubory (skripty, knihovny, data) vždy ukládej do tohoto kořenového adresáře nebo jeho podadresářů.
|
|
|
|
Worktree (`.claude/worktrees/*`) slouží jen pro interní práci Claude, ne jako výstup.
|
|
|
|
## Přečti na začátku každé konverzace
|
|
|
|
Každý adresář se skriptem má vlastní `NOTES.md` s technickými detaily. Přečti relevantní NOTES.md podle toho, čeho se konverzace týká.
|
|
|
|
## Anthropic API klíč
|
|
|
|
Uložen v `Medevio/.env` jako `ANTHROPIC_API_KEY=sk-ant-...`.
|
|
Skripty, které volají Claude API, si ho načítají samy — vzor:
|
|
|
|
```python
|
|
def _load_env():
|
|
env_path = Path(__file__).resolve().parent.parent / "Medevio" / ".env"
|
|
if env_path.exists():
|
|
for line in env_path.read_text(encoding="utf-8").splitlines():
|
|
line = line.strip()
|
|
if "=" in line and not line.startswith("#"):
|
|
k, v = line.split("=", 1)
|
|
os.environ[k.strip()] = v.strip()
|
|
|
|
_load_env()
|
|
```
|
|
|
|
## Sdílené knihovny (`Knihovny/`)
|
|
|
|
Před psaním nového kódu vždy zkontroluj, zda existuje vhodná sdílená funkce.
|
|
Import vždy přes `sys.path` na kořen projektu nebo přímou cestou.
|
|
|
|
| Modul | Klíčová funkce / třída | Popis |
|
|
|-------|------------------------|-------|
|
|
| `najdi_dropbox.py` | `get_dropbox_root() → str` | Zjistí cestu k Dropboxu z registru nebo info.json — **používej místo pevných cest** |
|
|
| `EmailMessagingGraph.py` | — | Odesílání e-mailů přes Microsoft Graph API |
|
|
| `mysql_db.py` | — | Připojení a operace s MySQL databází |
|
|
| `medicus_db.py` | — | Připojení k databázi Medicus (Firebird) |
|
|
| `vzpb2b_client.py` | — | Klient pro VZP B2B API (stav pojištění) |
|
|
| `telegram_notify.py` | `posli_telegram()`, `zeptej_se_telegram()` | Notifikace a obousměrná komunikace přes Telegram **bota** (@Vlado_Claude_Bot) |
|
|
| `telegram_user.py` | `posli_jako_ja()`, `zeptej_se_jako()` | Komunikace přes plnohodnotný **user účet** agenta (Telethon, víc agentů = víc sessions) |
|
|
|
|
## Přehled skriptů
|
|
|
|
| Skript | Adresář | Popis |
|
|
|--------|---------|-------|
|
|
| `stahni_str8ts.py` | `SběrDatRůzné/DailyStr8ts/` | Stahuje daily Str8ts puzzle jako PDF, odesílá emailem — viz [NOTES.md](SběrDatRůzné/DailyStr8ts/NOTES.md) |
|
|
| `10_StahnoutXML.py`, `11_ParseXML.py` | `Recepty/NačteníPředpisuWithClaude/` | Pipeline pro stahování detailů receptů z eRecept SÚKL — viz [NacistPredpis_DOKUMENTACE.md](Recepty/NačteníPředpisuWithClaude/NacistPredpis_DOKUMENTACE.md) |
|
|
| `watcher.py` | `Webináře/` | Hlídá nové webináře na praktickylekar.online, přes Telegram potvrdí a přihlásí Buzalkovi — viz [NOTES.md](Webináře/NOTES.md) |
|
|
| `stahni_video.py` | `Video/` | Stahuje videa (Vimeo, YouTube…) přes yt-dlp; soukromá/nedostupná sám přeskočí — viz [NOTES.md](Video/NOTES.md) |
|
|
| `euni_stahni.py`, `euni_db.py`, `euni_report.py` | `Euni/` | Stahování kurzů z euni.cz (PDF + videa) s trackingem v MongoDB EUNI (idempotentní) — viz [NOTES.md](Euni/NOTES.md) |
|