コード例 #1
0
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})
コード例 #2
0
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)
コード例 #3
0
def state_shutdown_controller(id):
    """
    Shutdown a controller
    :return:
    """
    cr = Controllers.get_controller(id)
    response = shutdown_controller(cr["host"], cr["port"])
    return jsonify(response)
コード例 #4
0
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)
コード例 #5
0
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})