File size: 1,177 Bytes
fc8f5a2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
from flask import Flask, request, jsonify
from flask_cors import CORS
import requests
app = Flask(__name__)
CORS(app)
API_KEY = "8b578569eecee3ba36ea02c94b036ebc"
@app.route("/", methods=["GET"])
def home():
return "🌦️ Weather Backend is running!"
@app.route("/get_weather", methods=["POST"])
def get_weather():
data = request.get_json()
city = data.get("city")
if not city:
return jsonify({"error": "No city provided"}), 400
url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric"
response = requests.get(url)
if response.status_code != 200:
return jsonify({"error": "City not found"}), 404
weather_data = response.json()
result = {
"city": weather_data["name"],
"country": weather_data["sys"]["country"],
"temperature": weather_data["main"]["temp"],
"humidity": weather_data["main"]["humidity"],
"description": weather_data["weather"][0]["description"],
"icon": weather_data["weather"][0]["icon"]
}
return jsonify(result)
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860) |