#!/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()