Spaces:
Running
Running
import aiohttp | |
import os | |
from datetime import datetime | |
async def add_weather_context(location="London"): | |
try: | |
api_key = os.getenv("OPENWEATHER_API_KEY") | |
if not api_key: | |
return "Weather data unavailable (API key not configured)" | |
url = f"http://api.openweathermap.org/data/2.5/weather?q={location}&appid={api_key}&units=metric" | |
async with aiohttp.ClientSession() as session: | |
async with session.get(url, timeout=5) as response: | |
response.raise_for_status() | |
data = await response.json() | |
return f"Current weather in {location}: {data['weather'][0]['description']}, {data['main']['temp']}°C" | |
except Exception as e: | |
return f"Weather data unavailable: {str(e)}" | |
async def add_space_weather_context(): | |
try: | |
api_key = os.getenv("NASA_API_KEY") | |
if not api_key: | |
return "Space weather data unavailable (API key not configured)" | |
url = f"https://api.nasa.gov/planetary/apod?api_key={api_key}" | |
async with aiohttp.ClientSession() as session: | |
async with session.get(url, timeout=5) as response: | |
response.raise_for_status() | |
data = await response.json() | |
return f"Space context: Astronomy Picture of the Day - {data.get('title', 'N/A')}" | |
except Exception as e: | |
return f"Space weather data unavailable: {str(e)}" | |
def add_time_context(): | |
now = datetime.now() | |
return f"Current date and time: {now.strftime('%Y-%m-%d %H:%M:%S %Z')}" | |