Commit graph

2 commits

Author SHA1 Message Date
Dieter Schlüter
fad93e194f fix: seven.io-Statuscode als nacktes int/float robust parsen (0.1.1)
Der SMS-Endpunkt liefert standardmäßig nur den nackten Statuscode (z. B. 100),
der als JSON zu einem int decodiert — _parse rief darauf data.get() auf und
crashte mit AttributeError. Jetzt wird ein Nicht-Objekt-JSON als Statuscode
behandelt (ok = code == "100").

- client.py: _parse behandelt dict / int-Code / Text einheitlich
- Tests: nackter int-Code 100 (ok) und 900 (Fehler)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 12:51:11 +02:00
Dieter Schlüter
f7b791fdeb feat: seven-send 0.1.0 — Library + CLI für SMS und TTS-Anrufe via seven.io
Wiederverwendbarer Baustein (eigenes Paket), nutzbar in beliebigen Programmen,
Cron-Jobs und Alerts:

- client.py: synchroner SevenClient.send_sms / send_voice (Voice als SSML,
  XML-escaped); Result mit ok/code/price/error, best-effort Fehlerbehandlung,
  dry_run-Modus
- cli.py: `seven-send sms|voice` mit --dry-run, --json, sauberen Exit-Codes;
  API-Key aus --api-key oder $SEVEN_API_KEY
- src-Layout, pyproject (console_script seven-send), MIT-Lizenz
- 12 Tests (Client + CLI), httpx gemockt

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 11:33:12 +02:00