diff options
author | Paul Oliver <contact@pauloliver.dev> | 2024-02-29 03:01:41 +0100 |
---|---|---|
committer | Paul Oliver <contact@pauloliver.dev> | 2024-02-29 03:01:41 +0100 |
commit | d0704be9edb02f9a70403c4fb298d3750e487ba3 (patch) | |
tree | f188dc82effe1ccb4452697e318be4c57543e134 /server/server.py |
Flask server and endpoints
Diffstat (limited to 'server/server.py')
-rw-r--r-- | server/server.py | 28 |
1 files changed, 28 insertions, 0 deletions
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/<path:zone>', 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'), + }) |