def parseResponse()

in datascan/bulk-creation-scripts/dataquality /datascan.py [0:0]


def parseResponse(rules) -> list:
    """
        Method to parse the generated data quality rules
    """
    new_list = []
    for rule in rules:
        if rule.set_expectation:
            new_item = {
            'dimension': rule.dimension,
            'column': rule.column,
            'threshold': rule.threshold,
            'ignore_null': rule.ignore_null,
            'set_expectation': rule.set_expectation
            }
        elif rule.row_condition_expectation:
            new_item = {
                'dimension': rule.dimension,
                'column': rule.column,
                'threshold': rule.threshold,
                'row_condition_expectation': rule.row_condition_expectation
            }
        elif rule.table_condition_expectation:
            new_item = {
                'dimension': rule.dimension,
                'column': rule.column,
                'threshold': rule.threshold,
                'table_condition_expectation': rule.table_condition_expectation
            }
        elif rule.sql_assertion:
            new_item = {
                'dimension': rule.dimension,
                'sql_assertion': rule.sql_assertion
            }
        elif rule.regex_expectation:
            new_item = {
                'dimension': rule.dimension,
                'column': rule.column,
                'threshold': rule.threshold,
                'regex_expectation': rule.regex_expectation
            }
        elif rule.statistic_range_expectation:
            new_item = {
                'dimension': rule.dimension,
                'column': rule.column,
                'statistic_range_expectation': rule.statistic_range_expectation 
            }
        elif rule.range_expectation:
            new_item = {
                'dimension': rule.dimension,
                'column': rule.column,
                'threshold': rule.threshold,
                'ignore_null': rule.ignore_null,
                'range_expectation': rule.range_expectation
            }
        elif rule.dimension == 'UNIQUENESS':
            new_item = {
                'dimension': rule.dimension,
                'column': rule.column,
                'threshold': rule.threshold,
                'uniqueness_expectation': {}
            }
        else:
            new_item = {
                'dimension': rule.dimension,
                'column': rule.column,
                'threshold': rule.threshold,
                'non_null_expectation': {}
            }
        new_list.append(new_item)
    return new_list