From d0704be9edb02f9a70403c4fb298d3750e487ba3 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Thu, 29 Feb 2024 03:01:41 +0100 Subject: Flask server and endpoints --- server/server.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 server/server.py (limited to 'server/server.py') diff --git a/server/server.py b/server/server.py new file mode 100644 index 0000000..f1ddaa9 --- /dev/null +++ b/server/server.py @@ -0,0 +1,28 @@ +from datetime import datetime +from flask import abort, Flask, jsonify +from flask_cors import CORS +from pytz import common_timezones, timezone + + +app = Flask(__name__) +CORS(app) + + +@app.route('/zones/', methods=['GET']) +def zones(): + """ Return a list of common timezones """ + return jsonify(common_timezones) + + +@app.route('/time-at/', methods=['GET']) +def time_at(zone): + """ Return current time at given timezone """ + if zone not in common_timezones: + abort(404) + + tzobj = timezone(zone) + + return jsonify({ + 'zone': tzobj.zone, + 'time': datetime.now(tzobj).strftime('%a %d %b %Y %H:%M:%S'), + }) -- cgit v1.2.1