From 5d57ec0b40ed4d788ab612b1362caeb9e16e4411 Mon Sep 17 00:00:00 2001 From: Arjen Baart Date: Wed, 23 Oct 2019 05:51:01 +0200 Subject: [PATCH] Adapted to the changed format of the bank CSV files. --- bank.cpp | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/bank.cpp b/bank.cpp index 7e672b9..793d0b3 100644 --- a/bank.cpp +++ b/bank.cpp @@ -69,7 +69,7 @@ public: bool BankTemplate::matches(String deb_cred, String name, String descr) { - std::cout << name << " == " << _nm << "\n" << descr << " == " << _dm << "\n"; + //std::cout << name << " == " << _nm << "\n" << descr << " == " << _dm << "\n"; return (deb_cred == "C") == Credit && name == name_match && descr == description_match; } @@ -103,7 +103,8 @@ String BankTemplate::substitute_template(String date, String name, String amount break; case 'D': - text(sub_start, sub_len) = date(6,2) + String("-") + date(4,2) + String("-") + date(0,4); + //text(sub_start, sub_len) = date; + text(sub_start, sub_len) = date(8,2) + String("-") + date(5,2) + String("-") + date(0,4); break; default: @@ -131,13 +132,13 @@ std::vector parse_csv(String line, char delim); // Fields in the bank record. -const int DEBIT_CREDIT = 3; -const int AMOUNT = 4; -const int NAME = 6; -const int BOOKING_DATE = 7; -const int DESCRIP1 = 10; -const int DESCRIP2 = 11; -const int DESCRIP3 = 12; +const int DEBIT_CREDIT = 2; +const int AMOUNT = 6; +const int NAME = 9; +const int BOOKING_DATE = 4; +const int DESCRIP1 = 19; +const int DESCRIP2 = 20; +const int DESCRIP3 = 21; const int DESCRIP4 = 13; const int DESCRIP5 = 14; const int DESCRIP6 = 15; @@ -173,7 +174,7 @@ int main(int argc, char *argv[]) break; case 'V': - std::cout << "bank version 1.1\n"; + std::cout << "bank version 1.3\n"; exit(0); break; @@ -246,8 +247,17 @@ void read_mutations(const char *filename, std::vector templates) line += ",\"\""; bank_record = parse_csv(line, ','); + // A + amount is Credit, a - amount is Debit + + bank_record[DEBIT_CREDIT] = "C"; + if (bank_record[AMOUNT][0] == '-') + { + bank_record[DEBIT_CREDIT] = "D"; + } + bank_record[AMOUNT] <<= 1; + description = bank_record[DESCRIP1]; - for (i = DESCRIP2; i <= DESCRIP6; i++) + for (i = DESCRIP2; i <= DESCRIP3; i++) { description += " " + bank_record[i]; } -- 2.11.0