feat: Implement multi-source weather data collection from OpenWeatherMap, Visual Crossing, and NOAA METAR sources.

This commit is contained in:
2569718930@qq.com
2026-03-08 09:57:08 +08:00
parent 2da6e6829f
commit 1655a026e8
5 changed files with 164 additions and 0 deletions
+4
View File
@@ -489,6 +489,9 @@ def _analyze(city: str, force_refresh: bool = False) -> Dict[str, Any]:
"wu_settlement": wu_settle,
"obs_time": obs_time_str,
"obs_age_min": metar_age_min,
"report_time": metar.get("report_time") if metar else None,
"receipt_time": metar.get("receipt_time") if metar else None,
"obs_time_epoch": metar.get("obs_time_epoch") if metar else None,
"wind_speed_kt": _sf(mc.get("wind_speed_kt")),
"wind_dir": _sf(mc.get("wind_dir")),
"humidity": _sf(mc.get("humidity")),
@@ -498,6 +501,7 @@ def _analyze(city: str, force_refresh: bool = False) -> Dict[str, Any]:
],
"visibility_mi": _sf(mc.get("visibility_mi")),
"wx_desc": mc.get("wx_desc"),
"raw_metar": mc.get("raw_metar"),
},
"mgm": mgm_data,
"mgm_nearby": raw.get("mgm_nearby", []),