Skip to content

Instantly share code, notes, and snippets.

@vascorsd
Last active July 19, 2017 03:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vascorsd/ec23e21742255076e53cb610080a5516 to your computer and use it in GitHub Desktop.
Save vascorsd/ec23e21742255076e53cb610080a5516 to your computer and use it in GitHub Desktop.
TimeZone from Geo in Python 3
#!/bin/python3
from timezonefinder import TimezoneFinder
from http.server import BaseHTTPRequestHandler,HTTPServer
import json
tf = TimezoneFinder()
class Handlers(BaseHTTPRequestHandler):
def do_GET(self):
self.do_POST(self)
def do_POST(self):
content_len = int(self.headers['Content-Length'])
post_body = self.rfile.read(content_len).decode("utf-8")
data = json.loads(post_body)
self.send_response(200)
self.send_header('Content-type','application/json')
self.end_headers()
response = {
'geo': [tf.timezone_at(lng=longitude, lat=latitude) for [longitude, latitude] in data['geo']]
}
self.wfile.write(bytes(json.dumps(response), 'utf-8'))
def run(server_class=HTTPServer, handler_class=Handlers):
server_address = ('', 7788)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
#if __name__ == '__main__':
run()
# pip3 install --user timezonefinder
#curl -d '{"geo": [[10, 20], [13.358, 52.5061]]}' localhost:7788
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment