import sys import os from SimpleHTTPServer import SimpleHTTPRequestHandler from BaseHTTPServer import * from AccessGrid import Toolkit from AccessGrid.VenueServer import VenueServerIW class MyRequestHandler(SimpleHTTPRequestHandler): def do_GET(self): """Serve a GET request.""" self.send_response(200) self.send_header("Content-type", 'text/html') # build up content content = '' content += '' # get venue list from server venueList = VenueServerIW('https://localhost:8000/VenueServer').GetVenues() for venue in venueList: content += '%s (%s)
' % (venue.name,venue.uri) content += '' # send content-length header self.send_header("Content-Length", str(len(content))) self.end_headers() # send content self.wfile.write(content) def run_server(HandlerClass = MyRequestHandler, ServerClass = HTTPServer, protocol="HTTP/1.0"): if sys.argv[1:]: port = int(sys.argv[1]) else: port = 8080 server_address = ('127.0.0.1', port) HandlerClass.protocol_version = protocol httpd = ServerClass(server_address, HandlerClass) sa = httpd.socket.getsockname() print "Serving HTTP on", sa[0], "port", sa[1], "..." httpd.serve_forever() if __name__ == '__main__': # Create app and initialize app = Toolkit.CmdlineApplication() app.Initialize('VenueServerHTTPFacade') run_server()