def get_controller(id): """ Returns composite light controller information :param id: Light controller ID (database record ID) :return: jsonified controller information """ controller_record = Controllers.get_controller(id) if controller_record is None: response = jsonify( "Controllers.get_controller({0}) returned None".format(id)) response.status_code = 500 return response host = controller_record["host"] port = int(controller_record["port"]) status = get_status(host, port) if status: controller_record.update(status) else: controller_record["state"] = "OFFLINE" scripts = get_scriptlist(host, port) controller_record["scripts"] = scripts return jsonify({"data": controller_record})
def state_stop_script(id): """ Stop the running LED script :return: """ cr = Controllers.get_controller(id) response = stop_script(cr["host"], cr["port"]) return jsonify(response)
def state_shutdown_controller(id): """ Shutdown a controller :return: """ cr = Controllers.get_controller(id) response = shutdown_controller(cr["host"], cr["port"]) return jsonify(response)
def state_run_script(id, script): """ Set the running LED script :return: """ cr = Controllers.get_controller(id) response = run_script(script, cr["host"], cr["port"]) return jsonify(response)
def get_controller_status(id): """ Returns composite light controller information :param id: Light controller ID (database record ID) :return: jsonified controller information """ controller_record = Controllers.get_controller(id) if controller_record is None: response = jsonify( "Controllers.get_controller({0}) returned None".format(id)) response.status_code = 500 return response host = controller_record["host"] port = int(controller_record["port"]) status = get_status(host, port) return jsonify({"data": status})