Envirolytics_backend / debug_v3.py
Ayush Modi
Clean deploy with LFS
e4667e2
import requests
import os
import json
from dotenv import load_dotenv
load_dotenv()
API_KEY = os.getenv("OPENAQ_API_KEY")
HEADERS = {"X-API-Key": API_KEY} if API_KEY else {}
def debug_v3():
print(f"API Key Present: {bool(API_KEY)}")
# 1. Find Location in Delhi
# Trying radius search around Delhi coordinates (28.6139, 77.2090)
url_loc = "https://api.openaq.org/v3/locations"
params_loc = {
"limit": 5,
"coordinates": "28.6139,77.2090",
"radius": 25000, # 25km
"country_id": 134
}
print("\n--- 1. Searching Locations (V3) ---")
try:
resp = requests.get(url_loc, params=params_loc, headers=HEADERS, timeout=10)
print(f"Status: {resp.status_code}")
if resp.status_code == 200:
data = resp.json()
results = data.get("results", [])
print(f"Found {len(results)} locations.")
if results:
loc_id = results[0]['id']
print(f"Selected Location ID: {loc_id} ({results[0]['name']})")
# 2. Get Sensors/Measurements for this Location
url_sens = f"https://api.openaq.org/v3/locations/{loc_id}/sensors"
print(f"\n--- 2. Fetching Sensors for Loc {loc_id} ---")
resp_sens = requests.get(url_sens, headers=HEADERS, timeout=10)
if resp_sens.status_code == 200:
sensors = resp_sens.json().get("results", [])
print(f"Found {len(sensors)} sensors.")
for s in sensors:
print(f" - {s['parameter']['name']}: {s.get('value', 'N/A')} {s['parameter']['units']}")
return sensors
else:
print(f"Failed to get sensors: {resp_sens.text}")
else:
print(f"Failed to search locations: {resp.text}")
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
debug_v3()