chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"""Mock weather data tool implementation."""
|
||||
|
||||
import random
|
||||
from .types import WeatherResult
|
||||
|
||||
_CONDITIONS = [
|
||||
"Sunny",
|
||||
"Partly Cloudy",
|
||||
"Cloudy",
|
||||
"Overcast",
|
||||
"Light Rain",
|
||||
"Heavy Rain",
|
||||
"Thunderstorm",
|
||||
"Snow",
|
||||
"Foggy",
|
||||
"Windy",
|
||||
]
|
||||
|
||||
|
||||
def get_weather_impl(city: str) -> WeatherResult:
|
||||
"""Return mock weather data for the given city.
|
||||
|
||||
Uses a seeded random based on the city name so repeated calls
|
||||
for the same city return consistent results within a session.
|
||||
"""
|
||||
rng = random.Random(city.lower())
|
||||
temperature = rng.randint(20, 95)
|
||||
humidity = rng.randint(30, 90)
|
||||
wind_speed = rng.randint(2, 30)
|
||||
feels_like = temperature + rng.randint(-5, 5)
|
||||
conditions = rng.choice(_CONDITIONS)
|
||||
|
||||
return WeatherResult(
|
||||
city=city,
|
||||
temperature=temperature,
|
||||
humidity=humidity,
|
||||
wind_speed=wind_speed,
|
||||
feels_like=feels_like,
|
||||
conditions=conditions,
|
||||
)
|
||||
Reference in New Issue
Block a user