def webserver(port=49876, directory=None, public=False): if directory is not None: directory = os.path.abspath(directory) if not os.path.exists(directory): raise Exception("No such directory: %r" % directory) server_address = ("", port) httpd = HTTPServer(server_address, HTTPRequestHandler) httpd.gentle = GentleNext(directory) httpd.public = public try: print "Serving directory %r on port %u" % (httpd.gentle.getdir(), port) httpd.serve_forever() except KeyboardInterrupt: print # or we get a '^C' immediately followed by the prompt httpd.server_close()