From 48d558fc7ad27b9ba8dd3ee19d026c0de7d59f52 Mon Sep 17 00:00:00 2001 From: Eric Mertens Date: Tue, 23 Mar 2021 20:00:37 -0700 Subject: [PATCH] Tolerate spaces in amount fields in CSV files --- hledger-lib/Hledger/Read/CsvReader.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hledger-lib/Hledger/Read/CsvReader.hs b/hledger-lib/Hledger/Read/CsvReader.hs index b93b8506d..4214a284c 100644 --- a/hledger-lib/Hledger/Read/CsvReader.hs +++ b/hledger-lib/Hledger/Read/CsvReader.hs @@ -1182,6 +1182,8 @@ type CsvAmountString = Text -- "" simplifySign :: CsvAmountString -> CsvAmountString simplifySign amtstr + | Just (' ',t) <- T.uncons amtstr = simplifySign t + | Just (t,' ') <- T.unsnoc amtstr = simplifySign t | Just ('(',t) <- T.uncons amtstr, Just (amt,')') <- T.unsnoc t = simplifySign $ negateStr amt | Just ('-',b) <- T.uncons amtstr, Just ('(',t) <- T.uncons b, Just (amt,')') <- T.unsnoc t = simplifySign amt | Just ('-',m) <- T.uncons amtstr, Just ('-',amt) <- T.uncons m = amt