Claude Agent 973410823e etichete: cinci cifre scoase de sub candele in modulul 5; si randarea lui, reparata
Cele cinci erau toate in patternuri_complexe_3: "SL 29.40" se citea cu 9.4
lipsa, "target 62.00" fara 62., "intrare short 89.00" fara 8. Reparate cu
Level.i0, care muta si linia si eticheta - label_dy doar le-ar fi lipit de
linia vecina. Nicio cifra schimbata.

Si o regresie a mea, din 29dc93d: marcajul <!--SVG0--> pe care il pune
stash_svgs semana cu ancorele <!--SVG:tb--> ale generatoarelor din modulul 5,
deci assert-ul se aprindea degeaba si **niciun capitol din modulul 5 nu se mai
putea randa**. Marcajul e acum <!--SVG-STASH-n-->, iar assert-ul cauta exact
forma lui. Cele 7 capitole se randeaza din nou.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
2026-10-02 06:13:41 +00:00

atm-curs-dl

Descarcă local toate videourile din cursul ATM (Bogdan Jinga, systeme.io), pentru backup personal — contul are deja acces plătit.

Folosește API-ul JSON al systeme.io (login → listă module/lecții → per lecție, URL-ul video pe CloudFront) în loc de scraping HTML. Fiecare fișier video e neserializat/semnat (CloudFront servește direct MP4-ul), deci descărcarea e un simplu requests streaming cu suport de resume (Range).

Utilizare

pip install -r requirements.txt
cp .env.example .env   # completează ATM_EMAIL / ATM_PASSWORD
python download.py     # scrie în ./videos/<modul>/<lectie>.mp4

Reluabil: reia descărcările întrerupte (Range) și sare peste fișierele deja complete (videos/manifest.json).

Description
No description provided
Readme 28 MiB
Languages
HTML 81.6%
Python 18.4%