-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_emt.py
More file actions
62 lines (49 loc) · 1.93 KB
/
Copy pathtest_emt.py
File metadata and controls
62 lines (49 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import os
import json
import requests
from dotenv import load_dotenv
import EMT_API
# Forzamos la carga del .env
load_dotenv()
CLIENT_ID = os.getenv("EMT_CLIENT_ID")
PASS_KEY = os.getenv("EMT_PASS_KEY")
print("--- DIAGNÓSTICO EMT MADRID ---")
# Imprimimos solo los primeros 5 caracteres para saber si el .env se lee bien
if CLIENT_ID and PASS_KEY:
print(f"✅ Llaves encontradas en .env. Client ID empieza por: {CLIENT_ID[:5]}...")
else:
print("❌ ERROR: No se han encontrado las variables en el archivo .env")
print(
"Asegúrate de que el archivo se llama exactamente '.env' y está en esta carpeta."
)
exit()
print("Conectando con el servidor...")
login_url = "https://openapi.emtmadrid.es/v1/mobilitylabs/user/login/"
headers_login = {"X-ClientId": CLIENT_ID, "passKey": PASS_KEY}
try:
res = requests.get(login_url, headers=headers_login, timeout=5)
datos = res.json()
print("\n--- RESPUESTA DEL SERVIDOR ---")
print(f"Código HTTP de red: {res.status_code}")
print(f"Código interno EMT: {datos.get('code')}")
print(f"Mensaje EMT: {datos.get('description')}")
# Aceptamos "00" (Nuevo login), "01" (Token extendido) y "02" (Token vivo)
if datos.get("code") not in ["00", "01", "02"]:
print("Error de credenciales")
token = datos["data"][0]["accessToken"]
except Exception as e:
print(f"Error de red intentando conectar: {e}")
def testResponse():
# Abrimos el archivo en modo lectura ('r')
with open("paradas-EMT.json", "r", encoding="utf-8") as archivo:
# Cargamos el contenido directamente a un diccionario
datos = json.load(archivo)
# Recorremos la lista de paradas
print("===" * 10)
for parada in datos["paradas_emt_madrid"]:
print(f"Parada: {parada['nombre']} (#{parada['codigo']})")
busStop = EMT_API.get_emt_bus(parada["codigo"])
print(busStop)
print(len(busStop))
print("===" * 10)
testResponse()