scripts: equity.hs, a test of the scripting api

This commit is contained in:
Simon Michael 2011-06-13 23:29:12 +00:00
parent 4e9c09fb87
commit 6cd0c1aa56

23
examples/equity.hs Normal file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env runhaskell
{-
Print an entry posting the total balance of the specified account and
subaccounts, or all accounts, from the default journal. Like ledger's
equity command. Useful when starting a new journal or closing the books.
Usage: equity.hs [ACCTPAT]
-}
import Hledger
import Hledger.Cli
import System.Environment
main = do
j <- myJournal
d <- getCurrentDay
args <- getArgs
let acctpat = head $ args ++ [""]
(acctbals,_) = balanceReport [Flat] (optsToFilterSpec [] [acctpat] d) j
txn = nulltransaction{
tdate=d,
tpostings=[nullposting{paccount=a,pamount=b} | (a,_,_,b) <- acctbals]
++ [nullposting{paccount="equity:opening balances",pamount=missingamt}]}
putStr $ show txn