def get_sensors()

in deepracer_systems_pkg/deepracer_systems_pkg/model_loader_module/model_metadata_file_utils.py [0:0]


def get_sensors(model_metatdata_json):
    """Helper method that returns the corresponding enum values for sensors in the
       model_metadata json of the model selected.

    Args:
        model_metatdata_json (dict): JSON object with contents of the model metadata file.

    Returns:
        tuple: Tuple of (error_code, error_message, list of integer values
               corresponding the sensors of the model).
    """
    try:
        sensors = None
        err_msg = ""
        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].value for sensor_name in sensor_names]
            else:
                return 2, "The sensor configurations of your vehicle and trained model must match", []
        else:
            # To handle DeepRacer models with no sensor key
            err_msg = "No sensor key in model_metadata_file. Defaulting to observation."
            sensors = [constants.SensorInputKeys.observation.value]

        return 0, err_msg, sensors
    except Exception as exc:
        return 1, f"Error while getting sensor names from model_metadata.json: {exc}", []