Source code for abed.html.view
"""
This starts up a simple http server and launches the browser
"""
import errno
import os
import webbrowser
from six.moves import SimpleHTTPServer, socketserver
from socket import error as socket_error
from ..conf import settings
from ..io import warning
[docs]def view_html():
port = settings.HTML_PORT
os.chdir("%s%s%s" % (settings.OUTPUT_DIR, os.sep, "html"))
handler = SimpleHTTPServer.SimpleHTTPRequestHandler
while True:
try:
httpd = socketserver.TCPServer(("", port), handler)
break
except socket_error as err:
if not err.errno == errno.EADDRINUSE:
raise err
warning("Port already in use, trying %i" % (port + 1))
port += 1
webbrowser.open("http://localhost:%i" % port, autoraise=True)
httpd.serve_forever()