update example scripts for api, clarify -f support

This commit is contained in:
Simon Michael 2013-12-13 19:10:54 -08:00
parent a95bc44345
commit 415cd19a7e
4 changed files with 14 additions and 5 deletions

View File

@ -2,8 +2,15 @@
-- Show all account names used in the default journal.
import Hledger
import Hledger.Cli (getCliOpts, mainmode, withJournalDo)
main = do
j <- defaultJournal
let l = ledgerFromJournal Any j
mapM_ putStrLn $ ledgerAccountNames l
-- simple way to read ~/.hledger.journal or $LEDGER_FILE
-- j <- defaultJournal
-- but we'd better handle -f as well:
opts <- getCliOpts $ mainmode []
withJournalDo opts $ \_opts j -> do
-- query the journal for all account names and print each one
mapM_ putStrLn $ journalAccountNames j

View File

@ -26,7 +26,7 @@ main = getCliOpts argsmode >>= printBalanceCsv
printBalanceCsv opts = withJournalDo opts $
\CliOpts{reportopts_=ropts} j -> do
d <- getCurrentDay
let (items,_) = accountsReport ropts (queryFromOpts d ropts) j
let (items,_) = balanceReport ropts (queryFromOpts d ropts) j
putStrLn $ printCSV $
["account","balance"] :
[[a, showMixedAmountWithoutPrice b] | (a, _, _, b) <- items]

View File

@ -17,12 +17,13 @@ import Hledger.Cli
import System.Environment
main = do
putStrLn "(-f option not supported, see hledger-accountnames.hs for how to add it)"
j <- defaultJournal
d <- getCurrentDay
args <- getArgs
let query = Or $ map Acct args
ropts = defreportopts{flat_=True}
(acctbals,_) = accountsReport ropts query j
(acctbals,_) = balanceReport ropts query j
balancingamt = negate $ sum $ map (\(_,_,_,b) -> b) acctbals
ps = [posting{paccount=a, pamount=b} | (a,_,_,b) <- acctbals]
++ [posting{paccount="equity:opening balances", pamount=balancingamt}]

View File

@ -13,6 +13,7 @@ import Hledger
import Hledger.Cli
main = do
putStrLn "(-f option not supported)"
opts <- getCliOpts (defCommandMode ["hledger-print-unique"])
withJournalDo opts $
\opts j@Journal{jtxns=ts} -> print' opts j{jtxns=uniquify ts}