def get_sensors()

in webserver_pkg/webserver_pkg/models.py [0:0]


def get_sensors(model_metatdata_json):
    """Helper method that returns the SensorInputKeys enum values from model_metadata json
       of the model selected.

    Args:
        model_metatdata_json (dict): JSON data with the content read from
                                     model_metadata.json of the model.

    Returns:
        tuple: A tuple of error code, error message and the list of SensorInputKeys enum values.
    """
    webserver_node = webserver_publisher_node.get_webserver_node()
    try:
        sensors = None
        if constants.ModelMetadataKeys.SENSOR in model_metatdata_json:
            sensor_names = set(model_metatdata_json[constants.ModelMetadataKeys.SENSOR])
            if all([constants.SensorInputKeys.has_member(sensor_name)
                    for sensor_name in sensor_names]):
                sensors = [constants.SensorInputKeys[sensor_name]
                           for sensor_name in sensor_names]
            else:
                webserver_node.get_logger().error("The sensor configurations of your vehicle "
                                                  "and trained model must match")
                return (2,
                        "The sensor configurations of your vehicle and "
                        "trained model must match",
                        [])
        else:
            # To handle DeepRacer models with no sensor key
            webserver_node.get_logger().info("No sensor key in model_metadata_file. "
                                             "Defaulting to observation.")
            sensors = [constants.SensorInputKeys.observation]

        return 0, "", sensors
    except Exception as ex:
        webserver_node.get_logger().error("Error while getting sensor names "
                                          f"from model_metadata.json: {ex}")
        return 1, "Error while getting sensor names from model_metadata.json", []