Beispiel #1
0
def start(browser=False, debug=False):
    """ Start a bottle web server.
        Derived from WSGIRefServer.run()
        to have control over the main loop.
    """
    global DEBUG
    DEBUG = debug

    class FixedHandler(wsgiref.simple_server.WSGIRequestHandler):
        def address_string(self):  # Prevent reverse DNS lookups please.
            return self.client_address[0]

        def log_request(*args, **kw):
            if debug:
                return wsgiref.simple_server.WSGIRequestHandler.log_request(
                    *args, **kw)

    S.server = wsgiref.simple_server.make_server(
        conf['network_host'], conf['network_port'], bottle.default_app(),
        wsgiref.simple_server.WSGIServer, FixedHandler)
    S.server.timeout = 0.01
    S.server.quiet = not debug
    if debug:
        bottle.debug(True)
    print("Library Directory: " + conf['rootdir'])
    print("Config Directory: " + conf['confdir'])
    print(
        "-----------------------------------------------------------------------------"
    )
    print("Starting server at http://%s:%d/" %
          ('127.0.0.1', conf['network_port']))
    print(
        "-----------------------------------------------------------------------------"
    )
    driveboard.connect_withfind()
    # open web-browser
    if browser:
        try:
            webbrowser.open_new_tab('http://127.0.0.1:' +
                                    str(conf['network_port']))
        except webbrowser.Error:
            print("Cannot open Webbrowser, please do so manually.")
    sys.stdout.flush()  # make sure everything gets flushed
    # start server
    # print "INFO: Starting web server thread."
    S.start()
    driveboard.air_off()
    if conf['home_on_startup']:
        try:
            # will fail if board not flashed
            driveboard.homing()
        except:
            pass
Beispiel #2
0
def start(browser=False, debug=False):
    """ Start a bottle web server.
        Derived from WSGIRefServer.run()
        to have control over the main loop.
    """
    global DEBUG
    DEBUG = debug

    class FixedHandler(wsgiref.simple_server.WSGIRequestHandler):
        def address_string(self): # Prevent reverse DNS lookups please.
            return self.client_address[0]
        def log_request(*args, **kw):
            if debug:
                return wsgiref.simple_server.WSGIRequestHandler.log_request(*args, **kw)

    S.server = wsgiref.simple_server.make_server(
        conf['network_host'],
        conf['network_port'],
        bottle.default_app(),
        wsgiref.simple_server.WSGIServer,
        FixedHandler
    )
    S.server.timeout = 0.01
    S.server.quiet = not debug
    if debug:
        bottle.debug(True)
    print "Library Directory: " + conf['rootdir']
    print "Config Directory: " + conf['confdir']
    print "-----------------------------------------------------------------------------"
    print "Starting server at http://%s:%d/" % ('127.0.0.1', conf['network_port'])
    print "-----------------------------------------------------------------------------"
    driveboard.connect_withfind()
    # open web-browser
    if browser:
        try:
            webbrowser.open_new_tab('http://127.0.0.1:'+str(conf['network_port']))
        except webbrowser.Error:
            print "Cannot open Webbrowser, please do so manually."
    sys.stdout.flush()  # make sure everything gets flushed
    # start server
    # print "INFO: Starting web server thread."
    S.start()
Beispiel #3
0
def status():
    global time_status_last
    if not driveboard.connected() and (time.time() - time_status_last) > 6.0:
        driveboard.connect_withfind(verbose=False)
    time_status_last = time.time()
    return json.dumps(driveboard.status())
Beispiel #4
0
def status():
    global time_status_last
    if not driveboard.connected() and (time.time()-time_status_last) > 6.0:
        driveboard.connect_withfind(verbose=False)
    time_status_last = time.time()
    return json.dumps(driveboard.status())