38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
"""
|
||
|
|
API för vädervarningar
|
||
|
|
"""
|
||
|
|
import sys
|
||
|
|
sys.path.insert(0, '/home/bernt/.openclaw/workspace/life-prod/processing')
|
||
|
|
from weather_analysis import generate_weather_alerts
|
||
|
|
|
||
|
|
def get_current_alerts():
|
||
|
|
"""Hämta aktuella vädervarningar"""
|
||
|
|
alerts = generate_weather_alerts()
|
||
|
|
|
||
|
|
# Gruppera efter allvarlighetsgrad
|
||
|
|
critical = [a for a in alerts if a["severity"] == "critical"]
|
||
|
|
high = [a for a in alerts if a["severity"] == "high"]
|
||
|
|
medium = [a for a in alerts if a["severity"] == "medium"]
|
||
|
|
|
||
|
|
return {
|
||
|
|
"timestamp": alerts[0]["timestamp"] if alerts else None,
|
||
|
|
"summary": {
|
||
|
|
"critical": len(critical),
|
||
|
|
"high": len(high),
|
||
|
|
"medium": len(medium),
|
||
|
|
"total": len(alerts)
|
||
|
|
},
|
||
|
|
"alerts": alerts
|
||
|
|
}
|
||
|
|
|
||
|
|
def get_road_alerts(road_id):
|
||
|
|
"""Hämta varningar för specifik väg"""
|
||
|
|
alerts = generate_weather_alerts()
|
||
|
|
road_alerts = [a for a in alerts if a["road_id"] == road_id]
|
||
|
|
return road_alerts
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
result = get_current_alerts()
|
||
|
|
print(f"Vädervarningar: {result['summary']}")
|