#!/usr/bin/python $1
# a gps server by pete kirkham
import string
import cgi
import time
from os import curdir, sep
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
import gps
session = gps.gps()
time.sleep(1)
session.query('mos')
time.sleep(1)
# localhost maps:
localhost_key = 'ABQIAAAAQE9KvlhGYIpHd5B5_TqKuhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxR_vFG3A9MBB02DR_Ynu9gXu415CA'
fortinbras_key = 'ABQIAAAAQE9KvlhGYIpHd5B5_TqKuhQkJDBN3pSgq7wKN_hinNXN76ThthSrnayzqQdgd_8NDFmaoiYkfJ_u1A'
map_html = """
Google Maps JavaScript API Example
Centre on position
"""
json_message = "{'lat':%f, 'lng':%f, 'track':%f, 'time':%d}"
class GPSHandler(BaseHTTPRequestHandler):
def do_GET(self):
try:
host = self.headers.getheader('Host')
if self.path.endswith(".json"):
content_type = 'text/plain'
response = json_message % (session.fix.latitude, session.fix.longitude, session.fix.track, session.fix.time)
else:
content_type = 'text/html'
if host == 'fortinbras':
host_key = fortinbras_key
else:
host_key = localhost_key
response = map_html % (host_key)
self.send_response(200)
self.send_header('Content-type', content_type)
self.end_headers()
self.wfile.write(response)
session.query('mos')
return
except Exception, ex:
print ex
self.send_error(404,'File Not Found: %s' % self.path)
def main():
try:
server = HTTPServer(('', 80), GPSHandler)
print 'started httpserver...'
server.serve_forever()
except KeyboardInterrupt:
print '^C received, shutting down server'
server.socket.close()
if __name__ == '__main__':
main()