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