Lectii text: extract_text_lessons.py + Modul 3 #9 sumarizata
extract_audio.py sarea peste lectiile fara video. Gasita una in curriculum-ul accesibil (Modul 3 #9 - expirari de optiuni, witching, 0DTE), cu 4847 de caractere de continut real. Era numarata gresit ca acoperita. Plus: - render_html.py: index grupat pe module cu titlul H1 al fiecarei pagini - render_html.py: garda pe liniile goale din <svg> (rup blocul HTML tacut) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1
This commit is contained in:
27
PROGRESS.md
27
PROGRESS.md
@@ -5,14 +5,14 @@ Pipeline personal de transcriere + sumarizare pentru cursul de trading ATM
|
||||
pe Gitea. Pagină publicată (Tailscale, doar în tailnet):
|
||||
**https://claude-agent.tailf7372d.ts.net/atm/index.html**
|
||||
|
||||
## Status: curriculum de bază 100% acoperit (52/52 lecții posibile)
|
||||
## Status: curriculum de bază 100% acoperit (53/53 lecții accesibile)
|
||||
|
||||
| Modul | Lecții | Status |
|
||||
|---|---|---|
|
||||
| Modulul 1 | 10 | ✅ |
|
||||
| Catalizatori economici | 8 | ✅ |
|
||||
| Modulul 2 | 16 | ✅ |
|
||||
| Modulul 3 | 6 | ✅ |
|
||||
| Modulul 3 | 6 (5 video + 1 text) | ✅ |
|
||||
| Modulul 4 | 4 | ✅ |
|
||||
| Analiză Fundamentală | 9 | ✅ |
|
||||
|
||||
@@ -107,6 +107,29 @@ acolo un duplicat costă ore, nu minute.
|
||||
- `render_html.py`: adăugat extensia `toc`, ca headingurile să primească
|
||||
`id` — fără ea link-urile din `INDEX_TEMATIC.md` n-au unde ateriza.
|
||||
|
||||
## Lecții FĂRĂ video — `extract_text_lessons.py`
|
||||
`extract_audio.py` caută doar un MP4, deci sare peste lecțiile scrise.
|
||||
Găsită una singură în curriculum-ul accesibil: **Modul 3 / #9 — Alte tipuri
|
||||
de catalizatori** (expirări de opțiuni, witching, 0DTE). Avea 4.847 de
|
||||
caractere de conținut real, nu era un quiz gol. Era numărată greșit ca
|
||||
"acoperită" în versiunea anterioară a acestui fișier.
|
||||
|
||||
Conținutul vine din câmpul `html` al `/api/membership/lecture/<id>`,
|
||||
împreună cu tot CSS-ul paginii — scriptul curăță `<style>`/`<script>`, apoi
|
||||
tagurile. Rulează-l după `extract_audio.py`, pe aceleași module:
|
||||
`\.venv/bin/python extract_text_lessons.py [--only "<modul>"]`
|
||||
|
||||
**Rulează-l și pe Q&A / Analiză Zilnică** înainte să declari un modul
|
||||
complet — nu presupune că tot ce e acolo are video.
|
||||
|
||||
## Gardă nouă în `render_html.py`
|
||||
O linie goală în interiorul unui `<svg>` face python-markdown să rupă blocul
|
||||
HTML, iar browserul aruncă restul elementelor — diagrama se randează pe
|
||||
jumătate, **fără nicio eroare**. S-a întâmplat de două ori (a doua oară în
|
||||
2026-09-12, ștergând un `<text>` și lăsând linia cu spații). `render_html.py`
|
||||
crapă acum cu numărul liniei în loc să publice o diagramă stricată.
|
||||
Verificat că garda chiar prinde cazul.
|
||||
|
||||
## Ce a rămas — blocat de acces (`purchase_required`)
|
||||
Modul 5 (7), Modul 6 (6), Master ATM 1-4 (4+3+5+3=15) = **28 lecții**.
|
||||
Dacă userul primește acces: rulează din nou
|
||||
|
||||
Reference in New Issue
Block a user