Claude Agent 43e6fbcd32 audit: pragul de rand derivat din font-size; si cele doua diagrame chiar stricate
Al doilea defect al uneltei: inaltimea de rand era constanta LINE_H=13,
calibrata pe 12 px, deci la etichetele de 10 px cu pas de 12 px credea ca
randurile se ating. Acum e LINE_H_RATIO x font-size-ul efectiv, mostenit
corect de pe <g>. Factorul e 1.07, nu 1.15: agentul a incercat valorile mari,
a masurat cu metrice reale de glif si a aratat ca scot cinci fantome noi.

Cele doua probleme reale pe care unealta reparata le-a scos la iveala:
atmi_ansamblu avea un caption de 792 px intr-un viewBox de 720, deci se taia
la margine; la selectia_proximitate se calcau eticheta sagetii si titlul.
Ambele reparate si privite la 1:1.

Cele 92 de diagrame: 0 probleme. Selftest-ul trece, si prinde in continuare o
suprapunere fabricata deliberat - unealta tace pentru ca e curat, nu pentru ca
a orbit.

Ramane, raportat si nereparat: CHAR_W = 5.7 e tot calibrat pe 12 px, deci
latimea textelor mici e supraestimata. Aceeasi clasa de bug, n-a produs inca
raportari gresite.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
2026-09-22 20:45:50 +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 23 MiB
Languages
HTML 82.3%
Python 17.7%