From fffac198a8c4dce7d7aa567c6af98e1bae46c31b Mon Sep 17 00:00:00 2001 From: josh Date: Sat, 24 Jan 2026 17:22:38 -0500 Subject: [PATCH] delete original file after refactor (oops) --- old.py | 194 --------------------------------------------------------- 1 file changed, 194 deletions(-) delete mode 100644 old.py diff --git a/old.py b/old.py deleted file mode 100644 index 60d7554..0000000 --- a/old.py +++ /dev/null @@ -1,194 +0,0 @@ -from flask import Flask, render_template_string, jsonify, request -from datetime import datetime, date -import requests -import pytz -from timezonefinder import TimezoneFinder -from math import floor - -app = Flask(__name__) - -MAX_SNOW_INCHES = 24 -OPEN_METEO_URL = "https://api.open-meteo.com/v1/forecast" -tf = TimezoneFinder() - -HTML = """ - - - - -Are We Buried? - - - - -
-
- - - -
-
-
-

Are We Buried?

-
-- in
-
--
-
Last updated: --
-
- - - -""" - -def get_today_snowfall(lat, lon): - try: - # Determine timezone for location - tz_name = tf.timezone_at(lat=lat, lng=lon) or "UTC" - - params = { - "latitude": lat, - "longitude": lon, - "hourly": "snowfall", - "timezone": tz_name - } - - r = requests.get(OPEN_METEO_URL, params=params, timeout=5) - r.raise_for_status() - data = r.json() - - hourly = data.get("hourly", {}) - times = hourly.get("time", []) - snow_values = hourly.get("snowfall", []) - - today_str = datetime.now(pytz.timezone(tz_name)).date().isoformat() - - snowfall_cm = 0.0 - snowing_now = False - for t, s in zip(times, snow_values): - if t.startswith(today_str): - snowfall_cm += s - if s > 0: - snowing_now = True - - inches = round(snowfall_cm / 2.54, 1) - return inches, snowing_now, tz_name - - except Exception as e: - print("Error fetching snowfall:", e) - return 0.0, False, "UTC" - -def get_city_name(lat, lon): - """Use OpenStreetMap Nominatim to get the city name for coordinates.""" - try: - r = requests.get( - "https://nominatim.openstreetmap.org/reverse", - params={ - "lat": lat, - "lon": lon, - "format": "json", - "zoom": 10, # city-level - "addressdetails": 1 - }, - headers={"User-Agent": "AreWeBuriedApp/1.0"} - ) - r.raise_for_status() - data = r.json() - address = data.get("address", {}) - city = address.get("city") or address.get("town") or address.get("village") or address.get("county") or f"{lat:.2f},{lon:.2f}" - return city - except Exception as e: - print("Reverse geocoding error:", e) - return f"{lat:.2f},{lon:.2f}" - -@app.route("/") -def index(): - return render_template_string(HTML) - -@app.route("/api/snowfall") -def snowfall_api(): - lat = request.args.get("lat", type=float) - lon = request.args.get("lon", type=float) - - if lat is None or lon is None: - return jsonify({"error": "Missing lat/lon"}), 400 - - inches, snowing, tz_name = get_today_snowfall(lat, lon) - today = datetime.now(pytz.timezone(tz_name)).strftime("%B %d, %Y") - - city_name = get_city_name(lat, lon) - - return jsonify({ - "location": city_name, - "lat": lat, - "lon": lon, - "inches": inches, - "max_inches": MAX_SNOW_INCHES, - "snowing": snowing, - "today": today, - "updated": datetime.now().isoformat() - }) - - -if __name__ == "__main__": - app.run(host="0.0.0.0", port=5000)