simpler parsePatternArgs

This commit is contained in:
Simon Michael 2009-04-04 09:14:04 +00:00
parent 7a4eb19b6d
commit 7637a40df7
3 changed files with 8 additions and 9 deletions

View File

@ -218,14 +218,13 @@ ledgerFilePathFromOpts opts = do
f <- if istimequery then myTimelogPath else myLedgerPath
return $ last $ f:(optValuesForConstructor File opts)
-- | Gather any pattern arguments into a list of account patterns and a
-- list of description patterns. For now we interpret pattern arguments as
-- | Gather filter pattern arguments into a list of account patterns and a
-- list of description patterns. We interpret pattern arguments as
-- follows: those prefixed with "desc:" are description patterns, all
-- others are account patterns. Also patterns prefixed with "not:" are
-- others are account patterns; also patterns prefixed with "not:" are
-- negated. not: should come after desc: if both are used.
-- This is different from ledger 2 and 3.
parseAccountDescriptionArgs :: [Opt] -> [String] -> ([String],[String])
parseAccountDescriptionArgs opts args = (as, ds')
parsePatternArgs :: [String] -> ([String],[String])
parsePatternArgs args = (as, ds')
where
descprefix = "desc:"
(ds, as) = partition (descprefix `isPrefixOf`) args
@ -239,5 +238,5 @@ optsToIOArgs opts args t = (dateSpanFromOpts (localDay t) opts
,CostBasis `elem` opts
,apats
,dpats
) where (apats,dpats) = parseAccountDescriptionArgs [] args
) where (apats,dpats) = parsePatternArgs args

View File

@ -24,4 +24,4 @@ showLedgerTransactions opts args l = concatMap showLedgerTransaction $ filteredt
filterRawLedgerTransactionsByAccount apats $
rawledger l
depth = depthFromOpts opts
(apats,_) = parseAccountDescriptionArgs opts args
(apats,_) = parsePatternArgs args

View File

@ -45,7 +45,7 @@ showRegisterReport opts args l
(displayedts, _) = span (matchdisplayopt dopt) ts'
startbal = sumTransactions precedingts
matchapats t = matchpats apats $ taccount t
apats = fst $ parseAccountDescriptionArgs opts args
(apats,_) = parsePatternArgs args
matchdisplayopt Nothing t = True
matchdisplayopt (Just e) t = (fromparse $ parsewith datedisplayexpr e) t
dopt = displayFromOpts opts