From e40e290ef216656d304f4f3095dbef223e94191d Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Fri, 21 Mar 2025 09:45:22 +0100 Subject: Changes --- app/Import/Ing/SavingsAccountCsv.hs | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'app/Import/Ing') diff --git a/app/Import/Ing/SavingsAccountCsv.hs b/app/Import/Ing/SavingsAccountCsv.hs index f6632fc..3f2e5e6 100644 --- a/app/Import/Ing/SavingsAccountCsv.hs +++ b/app/Import/Ing/SavingsAccountCsv.hs @@ -121,26 +121,26 @@ mutationTypeCP "Opname" = return WithdrawalMutation mutationTypeCP "Rente" = return InterestMutation mutationTypeCP t = fail ("Unknown mutation type '" ++ T.unpack t ++ "'") -parseNamedRecord :: C.NamedRecord -> C.Parser Tx -parseNamedRecord m = - eitherToCP . processPrimTx - =<< PrimTx - <$> (m .: "Datum" >>= dateCP "%Y-%m-%d") - <*> m .: "Omschrijving" - <*> m .: "Rekening" - <*> m .: "Rekening naam" - <*> (m .: "Tegenrekening" >>= maybeCP ibanCP) - <*> (m .: "Af Bij" >>= debitCreditCP) - <*> (m .: "Bedrag" >>= decimalCP) - <*> m .: "Valuta" - <*> (m .: "Mutatiesoort" >>= mutationTypeCP) - <*> m .: "Mededelingen" - <*> (m .: "Saldo na mutatie" >>= decimalCP) +instance C.FromNamedRecord Tx where + parseNamedRecord m = + eitherToCP . processPrimTx + =<< PrimTx + <$> (m .: "Datum" >>= dateCP "%Y-%m-%d") + <*> m .: "Omschrijving" + <*> m .: "Rekening" + <*> m .: "Rekening naam" + <*> (m .: "Tegenrekening" >>= maybeCP ibanCP) + <*> (m .: "Af Bij" >>= debitCreditCP) + <*> (m .: "Bedrag" >>= decimalCP) + <*> m .: "Valuta" + <*> (m .: "Mutatiesoort" >>= mutationTypeCP) + <*> m .: "Mededelingen" + <*> (m .: "Saldo na mutatie" >>= decimalCP) readFile :: Handle -> IO (V.Vector Tx) readFile h = do contents <- BS.hGetContents h - case C.decodeByNameWithP parseNamedRecord scsvOptions contents of + case C.decodeByNameWith scsvOptions contents of Left err -> fail err Right ( [ "Datum", -- cgit v1.2.3