From 7f61228ba84c1b93addec896a4611ba36531f19c Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Tue, 13 Feb 2007 03:46:56 +0000 Subject: [PATCH] more robust date parsing --- Parse.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Parse.hs b/Parse.hs index c26fd58e7..e4a59d1e6 100644 --- a/Parse.hs +++ b/Parse.hs @@ -5,6 +5,7 @@ where import Text.ParserCombinators.Parsec import Text.ParserCombinators.Parsec.Language import qualified Text.ParserCombinators.Parsec.Token as P +import Text.Printf import Models @@ -187,7 +188,14 @@ ledgerentry = do return $ autofillEntry entry ledgerdate :: Parser String -ledgerdate = do date <- many1 (digit <|> char '/'); many1 spacenonewline; return date +ledgerdate = do + y <- many1 digit + char '/' + m <- many1 digit + char '/' + d <- many1 digit + many1 spacenonewline + return $ printf "%04s/%02s/%02s" y m d ledgerstatus :: Parser Bool ledgerstatus = try (do { char '*'; many1 spacenonewline; return True } ) <|> return False