Trim record fields when importing CSV
Dependencies
- [2]
UO34MAAGRefactor CSV-based Importers - [3]
ZXF3IF3D - [4]
GVEI7KNDAdd a importer component for CSV files
Change contents
- replacement in importers/csv/src/lib.rs at line 35
#[derive(Debug, Default)]#[derive(Debug)] - edit in importers/csv/src/lib.rs at line 38
}impl Default for Importer {fn default() -> Self {ReaderBuilder::new().tap_mut(|builder| {builder.trim(csv::Trim::Fields);}).pipe(Self::new)} - replacement in importers/csv/src/lib.rs at line 58
builder.delimiter(b';');builder.delimiter(b';').trim(csv::Trim::Fields); - replacement in importers/csv/src/lib.rs at line 79
let position = record.position().expect("position is set by csv::Reader");let offset = SourceOffset::from((position.byte() + 1) as usize);let new_date = record.deserialize(Some(&headers)).map(|record| inner.date(record)).context(DeserializationSnafu { offset });let new_date = self.deserialize_record::<R>(&mut record, &headers).map(|record| inner.date(record)); - edit in importers/csv/src/lib.rs at line 129
let record_index = position.record(); - replacement in importers/csv/src/lib.rs at line 131
let extracted = record.deserialize(Some(&headers)).context(DeserializationSnafu { offset })let extracted = self.deserialize_record::<R>(&mut record, &headers) - replacement in importers/csv/src/lib.rs at line 141
directive.add_meta(common_keys::IMPORTED_RECORD, position.record());directive.add_meta(common_keys::IMPORTED_RECORD, record_index); - replacement in importers/csv/src/lib.rs at line 174
impl Importer {}impl Importer {fn deserialize_record<'de, 'h: 'de, R>(&self,record: &'de mut Record,headers: &'h Record,) -> Result<R::Record<'de>, RecordError<R::Error>>whereR: RecordImporter,{let position = record.position().expect("position is set by csv::Reader");let offset = SourceOffset::from((position.byte() + 1) as usize); - edit in importers/csv/src/lib.rs at line 186
record.deserialize(Some(headers)).context(DeserializationSnafu { offset })}}