# weather.py import requests import json import re from datetime import datetime from config import serviceKey, TODAY def parse_precip(value): if value == '강수없음': return 0.0 elif '1mm 미만' in value: return 0.5 else: match = re.search(r"[\d.]+", value) if match: return float(match.group()) else: return 0.0 def get_precipitation_summary(): url = "http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getVilageFcst" params = { 'serviceKey': serviceKey, 'numOfRows': '1000', 'pageNo': '1', 'dataType': 'JSON', 'base_date': TODAY, 'base_time': '0800', 'nx': '57', 'ny': '130' } response = requests.get(url, params=params) try: data = response.json() total_rainfall = 0.0 lines = [f'
| 시간 | 강수량 |
|---|---|
| {time_str} | {mm}mm |
영업시간 중 총 예상 강수량: {total_rainfall:.1f}mm
") return ''.join(lines) except json.decoder.JSONDecodeError: return "⚠️ 응답이 JSON 형식이 아닙니다." # 테스트용 if __name__ == "__main__": print(get_precipitation_summary())