From 73c09f91d73c98393d498033507318688806df2c Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Thu, 27 Feb 2014 17:46:05 -0800 Subject: [PATCH] queryFromOptsOnly for when args aren't query terms --- hledger-lib/Hledger/Reports.hs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hledger-lib/Hledger/Reports.hs b/hledger-lib/Hledger/Reports.hs index 72d6c6a65..85fe18979 100644 --- a/hledger-lib/Hledger/Reports.hs +++ b/hledger-lib/Hledger/Reports.hs @@ -22,6 +22,7 @@ module Hledger.Reports ( whichDateFromOpts, journalSelectingAmountFromOpts, queryFromOpts, + queryFromOptsOnly, queryOptsFromOpts, reportSpans, -- * Entries report @@ -223,6 +224,17 @@ queryFromOpts d opts@ReportOpts{..} = simplifyQuery $ And $ [flagsq, argsq] ++ (maybe [] ((:[]) . Depth) depth_) argsq = fst $ parseQuery d query_ +-- | Convert report options to a query, ignoring any non-flag command line arguments. +queryFromOptsOnly :: Day -> ReportOpts -> Query +queryFromOptsOnly d opts@ReportOpts{..} = simplifyQuery flagsq + where + flagsq = And $ + [(if date2_ then Date2 else Date) $ dateSpanFromOpts d opts] + ++ (if real_ then [Real True] else []) + ++ (if empty_ then [Empty True] else []) -- ? + ++ (maybe [] ((:[]) . Status) (clearedValueFromOpts opts)) + ++ (maybe [] ((:[]) . Depth) depth_) + tests_queryFromOpts = [ "queryFromOpts" ~: do assertEqual "" Any (queryFromOpts nulldate defreportopts)