def check_dotted_fields()

in src/es_pii_tool/helpers/utils.py [0:0]


def check_dotted_fields(result: t.Dict, field: str, message: str) -> bool:
    """Iterate through dotted fields to ensure success

    :param result: The search result object
    :param field: The field with dotted notation

    :type result: dict
    :type field: str

    :returns: Success (``True``) or Failure (``False``)
    :rtype: bool
    """
    success = False
    logger.debug('Dotted field detected: (%s) ...', field)
    fielder = result['hits']['hits'][0]['_source']
    iterations = len(field.split('.'))
    counter = 1
    for key in field.split('.'):
        # This should recursively look for each subkey
        if key in fielder:
            fielder = fielder[key]
        else:
            break
        if counter == iterations:
            if fielder == message:
                success = True
        counter += 1
    return success