def client_settings_update(data): global chasemapper_config, habitat_uploader _predictor_change = "none" if (chasemapper_config["pred_enabled"] == False) and (data["pred_enabled"] == True): _predictor_change = "restart" elif (chasemapper_config["pred_enabled"] == True) and ( data["pred_enabled"] == False ): _predictor_change = "stop" _habitat_change = "none" if (chasemapper_config["habitat_upload_enabled"] == False) and ( data["habitat_upload_enabled"] == True ): _habitat_change = "start" elif (chasemapper_config["habitat_upload_enabled"] == True) and ( data["habitat_upload_enabled"] == False ): _habitat_change = "stop" # Overwrite local config data with data from the client. chasemapper_config = data if _predictor_change == "restart": # Wait until any current predictions have finished. while predictor_semaphore: time.sleep(0.1) # Attempt to start the predictor. initPredictor() elif _predictor_change == "stop": # Wait until any current predictions have finished. while predictor_semaphore: time.sleep(0.1) predictor = None # Start or Stop the Habitat Chase-Car Uploader. if _habitat_change == "start": if habitat_uploader == None: habitat_uploader = HabitatChaseUploader( update_rate=chasemapper_config["habitat_update_rate"], callsign=chasemapper_config["habitat_call"], ) elif _habitat_change == "stop": habitat_uploader.close() habitat_uploader = None # Update the habitat uploader with a new update rate, if one has changed. if habitat_uploader != None: habitat_uploader.set_update_rate(chasemapper_config["habitat_update_rate"]) habitat_uploader.set_callsign(chasemapper_config["habitat_call"]) # Push settings back out to all clients. flask_emit_event("server_settings_update", chasemapper_config)
def client_settings_update(data): global chasemapper_config, online_uploader _predictor_change = "none" if (chasemapper_config["pred_enabled"] == False) and (data["pred_enabled"] == True): _predictor_change = "restart" elif (chasemapper_config["pred_enabled"] == True) and (data["pred_enabled"] == False): _predictor_change = "stop" _habitat_change = "none" if (chasemapper_config["habitat_upload_enabled"] == False) and (data["habitat_upload_enabled"] == True): _habitat_change = "start" elif (chasemapper_config["habitat_upload_enabled"] == True) and (data["habitat_upload_enabled"] == False): _habitat_change = "stop" # Overwrite local config data with data from the client. chasemapper_config = data if _predictor_change == "restart": # Wait until any current predictions have finished. while predictor_semaphore: time.sleep(0.1) # Attempt to start the predictor. initPredictor() elif _predictor_change == "stop": # Wait until any current predictions have finished. while predictor_semaphore: time.sleep(0.1) predictor = None # Start or Stop the Habitat Chase-Car Uploader. if _habitat_change == "start": if online_uploader == None: _tracker = chasemapper_config["profiles"][ chasemapper_config["selected_profile"]]["online_tracker"] if _tracker == "habitat": online_uploader = HabitatChaseUploader( update_rate=chasemapper_config["habitat_update_rate"], callsign=chasemapper_config["habitat_call"], ) elif _tracker == "sondehub": online_uploader = SondehubChaseUploader( update_rate=chasemapper_config["habitat_update_rate"], callsign=chasemapper_config["habitat_call"], ) else: logging.error( "Unknown Online Tracker %s, not starting uploader." % _tracker) elif _habitat_change == "stop": online_uploader.close() online_uploader = None # Update the habitat uploader with a new update rate, if one has changed. if online_uploader != None: online_uploader.set_update_rate( chasemapper_config["habitat_update_rate"]) online_uploader.set_callsign(chasemapper_config["habitat_call"]) # Push settings back out to all clients. flask_emit_event("server_settings_update", chasemapper_config)