in data_validation/config_manager.py [0:0]
def build_config_comparison_fields(self, fields, depth=None):
"""Return list of field config objects."""
field_configs = []
source_table = self.get_source_ibis_calculated_table()
target_table = self.get_target_ibis_calculated_table()
source_table_schema = {k: v for k, v in source_table.schema().items()}
target_table_schema = {k: v for k, v in target_table.schema().items()}
casefold_source_columns = {x.casefold(): str(x) for x in source_table.columns}
casefold_target_columns = {x.casefold(): str(x) for x in target_table.columns}
for field in fields:
cast_type = self._comp_field_cast(
source_table_schema, target_table_schema, field
)
column_config = {
consts.CONFIG_SOURCE_COLUMN: casefold_source_columns.get(
field.casefold(), field
),
consts.CONFIG_TARGET_COLUMN: casefold_target_columns.get(
field.casefold(), field
),
consts.CONFIG_FIELD_ALIAS: field,
consts.CONFIG_CAST: cast_type,
}
field_configs.append(column_config)
return field_configs