Trim record fields when importing CSV

korrat
Nov 14, 2023, 12:56 PM
S2677K7B2K3QFMGTRAWFCI3IZMKXJCRBA33WIHERUKFBHE472L2QC

Dependencies

Change contents

  • replacement in importers/csv/src/lib.rs at line 35
    [3.973][3.973:999]()
    #[derive(Debug, Default)]
    [3.973]
    [3.999]
    #[derive(Debug)]
  • edit in importers/csv/src/lib.rs at line 38
    [3.1049]
    [3.1049]
    }
    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
    [3.1254][3.1254:1295]()
    builder.delimiter(b';');
    [3.1254]
    [3.1295]
    builder.delimiter(b';').trim(csv::Trim::Fields);
  • replacement in importers/csv/src/lib.rs at line 79
    [2.21414][2.21414:21791]()
    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 });
    [2.21414]
    [2.21791]
    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
    [2.22853]
    [3.3932]
    let record_index = position.record();
  • replacement in importers/csv/src/lib.rs at line 131
    [3.3933][2.22854:22992]()
    let extracted = record
    .deserialize(Some(&headers))
    .context(DeserializationSnafu { offset })
    [3.3933]
    [2.22992]
    let extracted = self
    .deserialize_record::<R>(&mut record, &headers)
  • replacement in importers/csv/src/lib.rs at line 141
    [2.23355][2.23355:23448]()
    directive.add_meta(common_keys::IMPORTED_RECORD, position.record());
    [2.23355]
    [2.23448]
    directive.add_meta(common_keys::IMPORTED_RECORD, record_index);
  • replacement in importers/csv/src/lib.rs at line 174
    [2.24175][2.24175:24192]()
    impl Importer {}
    [2.24175]
    [3.4558]
    impl Importer {
    fn deserialize_record<'de, 'h: 'de, R>(
    &self,
    record: &'de mut Record,
    headers: &'h Record,
    ) -> Result<R::Record<'de>, RecordError<R::Error>>
    where
    R: 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
    [3.4559]
    [3.4559]
    record
    .deserialize(Some(headers))
    .context(DeserializationSnafu { offset })
    }
    }