lib: csv reader gets balance-style directive
This commit is contained in:
parent
fb3c1a132c
commit
39bc183340
@ -523,6 +523,7 @@ directives =
|
|||||||
,"newest-first"
|
,"newest-first"
|
||||||
-- ,"base-account"
|
-- ,"base-account"
|
||||||
-- ,"base-currency"
|
-- ,"base-currency"
|
||||||
|
, "balance-style"
|
||||||
]
|
]
|
||||||
|
|
||||||
directivevalp :: CsvRulesParser String
|
directivevalp :: CsvRulesParser String
|
||||||
@ -820,7 +821,21 @@ transactionFromCsvRecord sourcepos rules record = t
|
|||||||
tprecedingcomment = T.pack precomment,
|
tprecedingcomment = T.pack precomment,
|
||||||
tpostings = postings
|
tpostings = postings
|
||||||
}
|
}
|
||||||
toAssertion (a, b) = assertion{
|
|
||||||
|
defaultAssertion =
|
||||||
|
case mdirective "balance-style" of
|
||||||
|
Nothing -> assertion
|
||||||
|
Just "=" -> assertion
|
||||||
|
Just "==" -> assertion {batotal=True}
|
||||||
|
Just "=*" -> assertion {bainclusive=True}
|
||||||
|
Just "==*" -> assertion{batotal=True, bainclusive=True}
|
||||||
|
Just x -> error' $ unlines
|
||||||
|
[ "balance-style \"" ++ x ++"\" is invalid. Use =, ==, =* or ==*."
|
||||||
|
, showRecord record
|
||||||
|
, showRules rules record
|
||||||
|
]
|
||||||
|
|
||||||
|
toAssertion (a, b) = defaultAssertion{
|
||||||
baamount = a,
|
baamount = a,
|
||||||
baposition = b
|
baposition = b
|
||||||
}
|
}
|
||||||
|
|||||||
@ -475,6 +475,24 @@ $ ./hledger-csv
|
|||||||
|
|
||||||
>=0
|
>=0
|
||||||
|
|
||||||
|
# 22. read CSV with balance-style directive
|
||||||
|
<
|
||||||
|
10/2009/09,Flubber Co,50,123
|
||||||
|
|
||||||
|
RULES
|
||||||
|
fields date, description, amount, balance
|
||||||
|
date-format %d/%Y/%m
|
||||||
|
balance-style ==*
|
||||||
|
currency $
|
||||||
|
account1 assets:myacct
|
||||||
|
|
||||||
|
$ ./hledger-csv
|
||||||
|
2009/09/10 Flubber Co
|
||||||
|
assets:myacct $50 ==* $123
|
||||||
|
income:unknown $-50
|
||||||
|
|
||||||
|
>=0
|
||||||
|
|
||||||
|
|
||||||
# . TODO: without --separator gives obscure error
|
# . TODO: without --separator gives obscure error
|
||||||
# |
|
# |
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user