cheia API se ia din .env
Loader pe stdlib (fara python-dotenv): mediul are prioritate, altfel .env de langa script. .env e in .gitignore, .env.example e sablonul versionat. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KHLUSsKP99G6ebv2fFUKQV
This commit is contained in:
1
.env.example
Normal file
1
.env.example
Normal file
@@ -0,0 +1 @@
|
||||
TYPESAFE_API_KEY=
|
||||
14
README.md
14
README.md
@@ -5,18 +5,26 @@ niciun produs; e doar pentru a invata API-ul si a proba pe date reale.
|
||||
|
||||
## Rulare
|
||||
|
||||
Pune cheia in `.env` (o linie, fara ghilimele):
|
||||
|
||||
```
|
||||
TYPESAFE_API_KEY=cheia_ta
|
||||
```
|
||||
|
||||
apoi:
|
||||
|
||||
```sh
|
||||
export TYPESAFE_API_KEY=cheia_ta # Git Bash
|
||||
# set TYPESAFE_API_KEY=cheia_ta # cmd
|
||||
python typesafe_test.py
|
||||
```
|
||||
|
||||
Cheia sta doar in mediu — nu se scrie in fisierele de aici.
|
||||
`.env` e in `.gitignore` — nu pleaca niciodata pe git. `.env.example` e sablonul
|
||||
versionat. Daca `TYPESAFE_API_KEY` exista in mediu, are prioritate peste `.env`.
|
||||
|
||||
## Ce e in folder
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| `.env` / `.env.example` | cheia API, neversionata / sablon |
|
||||
| `typesafe_test.py` | un apel, cate o intrebare din fiecare tip, pe o linie de factura de furnizor. Modifica `state` si `criteria` pe cazuri reale. |
|
||||
| `docs/` | documentatia oficiala, descarcata ca Markdown (111 pagini) |
|
||||
| `update_docs.sh` | reia docs-urile cand se schimba |
|
||||
|
||||
@@ -1,10 +1,25 @@
|
||||
# Test TypeSafe System One - stdlib, fara dependinte.
|
||||
# Rulare: set TYPESAFE_API_KEY=... apoi: python typesafe_test.py
|
||||
import json, os, sys, urllib.request
|
||||
# Rulare: pune cheia in .env apoi: python typesafe_test.py
|
||||
import io, json, os, sys, urllib.request
|
||||
|
||||
KEY = os.environ.get("TYPESAFE_API_KEY")
|
||||
if not KEY:
|
||||
sys.exit("Lipseste TYPESAFE_API_KEY in mediu.")
|
||||
|
||||
def cheie():
|
||||
"""Din mediu daca e setata, altfel din .env de langa script."""
|
||||
k = os.environ.get("TYPESAFE_API_KEY")
|
||||
if k:
|
||||
return k
|
||||
env = os.path.join(os.path.dirname(os.path.abspath(__file__)), ".env")
|
||||
if os.path.exists(env):
|
||||
for linie in io.open(env, encoding="utf-8"):
|
||||
linie = linie.strip()
|
||||
if linie.startswith("TYPESAFE_API_KEY="):
|
||||
return linie.split("=", 1)[1].strip().strip("'\"")
|
||||
return None
|
||||
|
||||
|
||||
KEY = cheie()
|
||||
if not KEY or KEY == "pune_cheia_aici":
|
||||
sys.exit("Lipseste cheia: pune-o in .env (TYPESAFE_API_KEY=...) sau in mediu.")
|
||||
|
||||
# state = ce vede modelul. Aici: o linie de factura de furnizor + candidatii scosi "din Oracle".
|
||||
payload = {
|
||||
|
||||
Reference in New Issue
Block a user