edit in importers/dkb/src/lib.rs at line 103
+ #[tracing::instrument(fields(header), skip(self, buffer))]
edit in importers/dkb/src/lib.rs at line 110
+
+ tracing::Span::current().record("header", tracing::field::debug(bstr::BStr::new(header)));
edit in importers/dkb/src/lib.rs at line 120
+ tracing::debug!(?record, "unexpected header format: no account number line");
replacement in importers/dkb/src/lib.rs at line 124
[2.3085]→[2.3085:3220](∅→∅) − let (account_number, _) = record[1].split_once(" / ")?;
− let Ok(account_number) = Iban::from_str(account_number) else {
+ let Some((account_number, _)) = record[1].split_once(" / ") else {
+ tracing::debug!(
+ account_number = &record[1],
+ "unexpected account number format: no separator"
+ );
edit in importers/dkb/src/lib.rs at line 131
+ let account_number = match Iban::from_str(account_number) {
+ Ok(account_number) => account_number,
+ Err(error) => {
+ tracing::debug!(
+ account_number,
+ %error,
+ "unexpected account number format: invalid IBAN"
+ );
+ return None;
+ }
+ };
edit in importers/dkb/src/lib.rs at line 144
+ tracing::debug!(?record, "unexpected header format: no from date line");
replacement in importers/dkb/src/lib.rs at line 148
[2.3380]→[2.3380:3477](∅→∅) − let Ok(from_date) = Date::parse(&record[1], DATE_FORMAT) else {
− return None;
+ let from_date = match Date::parse(&record[1], DATE_FORMAT) {
+ Ok(from_date) => from_date,
+ Err(error) => {
+ tracing::debug!(
+ %error,
+ from_date = &record[1],
+ "unexpected date format for from date"
+ );
+ return None;
+ }
edit in importers/dkb/src/lib.rs at line 161
+ tracing::debug!(?record, "unexpected header format: no to date line");
replacement in importers/dkb/src/lib.rs at line 165
[2.3612]→[2.3612:3707](∅→∅) − let Ok(to_date) = Date::parse(&record[1], DATE_FORMAT) else {
− return None;
+ let to_date = match Date::parse(&record[1], DATE_FORMAT) {
+ Ok(to_date) => to_date,
+ Err(error) => {
+ tracing::debug!(
+ %error,
+ to_date = &record[1],
+ "unexpected date format for to date"
+ );
+ return None;
+ }
edit in importers/dkb/src/lib.rs at line 178
+ tracing::debug!(?record, "unexpected header format: no balance line");
replacement in importers/dkb/src/lib.rs at line 182
[2.3818]→[2.3818:3862](∅→∅) − let Ok(balance_date) = Date::parse(
+ let balance_date = match Date::parse(
replacement in importers/dkb/src/lib.rs at line 185
[2.3973]→[2.3973:4015](∅→∅) + ) {
+ Ok(balance_date) => balance_date,
+ Err(error) => {
+ tracing::debug!(
+ %error,
+ field = &record[0],
+ "unexpected header format: unexpected field header for balance",
+ );
+ return None;
+ }
replacement in importers/dkb/src/lib.rs at line 197
[2.4027]→[2.4027:4123](∅→∅) − let Ok(final_balance) = parse_german_amount(&record[1]) else {
− return None;
+ let final_balance = match parse_german_amount(&record[1]) {
+ Ok(final_balance) => final_balance,
+ Err(error) => {
+ tracing::debug!(
+ %error,
+ balance = &record[1],
+ "unexpected format for closing balance",
+ );
+ return None;
+ }
replacement in importers/dkb/src/lib.rs at line 252
[2.5245]→[2.5245:5293](∅→∅) − header.to_date.next_day().unwrap(),
+ header.balance_date.next_day().unwrap(),
replacement in importers/dkb/src/lib.rs at line 320
[2.7172]→[2.7172:7221](∅→∅) − Record::Statement(record) => vec![],
+ Record::Statement(_record) => vec![],
edit in importers/dkb/Cargo.toml at line 28
+ tracing.workspace = true
edit in Cargo.lock at line 254