query: report an error when date:D fails to parse
Previously, a date:D query term was just ignored if D could not be parsed as a date.
This commit is contained in:
parent
f631e8e063
commit
a675b99870
@ -228,7 +228,8 @@ defaultprefix = "acct"
|
|||||||
-- query :: GenParser String () Query
|
-- query :: GenParser String () Query
|
||||||
-- query = undefined
|
-- query = undefined
|
||||||
|
|
||||||
-- | Parse a single query term as either a query or a query option.
|
-- | Parse a single query term as either a query or a query option,
|
||||||
|
-- or raise an error if it has invalid syntax.
|
||||||
parseQueryTerm :: Day -> String -> Either Query QueryOpt
|
parseQueryTerm :: Day -> String -> Either Query QueryOpt
|
||||||
parseQueryTerm _ ('i':'n':'a':'c':'c':'t':'o':'n':'l':'y':':':s) = Right $ QueryOptInAcctOnly s
|
parseQueryTerm _ ('i':'n':'a':'c':'c':'t':'o':'n':'l':'y':':':s) = Right $ QueryOptInAcctOnly s
|
||||||
parseQueryTerm _ ('i':'n':'a':'c':'c':'t':':':s) = Right $ QueryOptInAcct s
|
parseQueryTerm _ ('i':'n':'a':'c':'c':'t':':':s) = Right $ QueryOptInAcct s
|
||||||
@ -239,10 +240,10 @@ parseQueryTerm _ ('c':'o':'d':'e':':':s) = Left $ Code s
|
|||||||
parseQueryTerm _ ('d':'e':'s':'c':':':s) = Left $ Desc s
|
parseQueryTerm _ ('d':'e':'s':'c':':':s) = Left $ Desc s
|
||||||
parseQueryTerm _ ('a':'c':'c':'t':':':s) = Left $ Acct s
|
parseQueryTerm _ ('a':'c':'c':'t':':':s) = Left $ Acct s
|
||||||
parseQueryTerm d ('d':'a':'t':'e':':':s) =
|
parseQueryTerm d ('d':'a':'t':'e':':':s) =
|
||||||
case parsePeriodExpr d s of Left _ -> Left None -- XXX should warn
|
case parsePeriodExpr d s of Left e -> error' $ "\"date:"++s++"\" gave a "++showDateParseError e
|
||||||
Right (_,span) -> Left $ Date span
|
Right (_,span) -> Left $ Date span
|
||||||
parseQueryTerm d ('e':'d':'a':'t':'e':':':s) =
|
parseQueryTerm d ('e':'d':'a':'t':'e':':':s) =
|
||||||
case parsePeriodExpr d s of Left _ -> Left None -- XXX should warn
|
case parsePeriodExpr d s of Left e -> error' $ "\"date:"++s++"\" gave a "++showDateParseError e
|
||||||
Right (_,span) -> Left $ Date2 span
|
Right (_,span) -> Left $ Date2 span
|
||||||
parseQueryTerm _ ('s':'t':'a':'t':'u':'s':':':s) = Left $ Status $ parseStatus s
|
parseQueryTerm _ ('s':'t':'a':'t':'u':'s':':':s) = Left $ Status $ parseStatus s
|
||||||
parseQueryTerm _ ('r':'e':'a':'l':':':s) = Left $ Real $ parseBool s
|
parseQueryTerm _ ('r':'e':'a':'l':':':s) = Left $ Real $ parseBool s
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user