imp: prices: use --infer-market-prices instead of --costs
This command now reuses the --infer-market-prices flag, and uses a new --infer-reverse-prices flag, instead of the old --costs and --inverted-costs flags, which are now deprecated and hidden.
This commit is contained in:
parent
326d6e8dae
commit
9dca1dc7b6
@ -184,12 +184,17 @@ reportflags = [
|
|||||||
,"'now': convert to current market value, in default valuation commodity or COMM"
|
,"'now': convert to current market value, in default valuation commodity or COMM"
|
||||||
,"YYYY-MM-DD: convert to market value on the given date, in default valuation commodity or COMM"
|
,"YYYY-MM-DD: convert to market value on the given date, in default valuation commodity or COMM"
|
||||||
])
|
])
|
||||||
-- history of this flag:
|
|
||||||
-- originally --infer-value
|
-- history of this flag so far, lest we be confused:
|
||||||
-- 2021-02, --infer-market-price added, --infer-value deprecated
|
-- originally --infer-value
|
||||||
-- 2021-09, --infer-value hidden
|
-- 2021-02 --infer-market-price added, --infer-value deprecated
|
||||||
-- --infer-market-price renamed to --infer-market-prices, old spelling still works
|
-- 2021-09
|
||||||
-- ReportOptions{infer_value_} renamed to infer_prices_ (and BalancingOpts{infer_prices_} renamed to infer_transaction_prices_)
|
-- --infer-value hidden
|
||||||
|
-- --infer-market-price renamed to --infer-market-prices, old spelling still works
|
||||||
|
-- ReportOptions{infer_value_} renamed to infer_prices_, BalancingOpts{infer_prices_} renamed to infer_transaction_prices_
|
||||||
|
-- some related prices command changes
|
||||||
|
-- --costs deprecated and hidden, uses --infer-market-prices instead
|
||||||
|
-- --inverted-costs renamed to --infer-reverse-prices
|
||||||
,flagNone ["infer-market-prices"] (setboolopt "infer-market-prices")
|
,flagNone ["infer-market-prices"] (setboolopt "infer-market-prices")
|
||||||
"use transaction prices (recorded with @ or @@) as additional market prices, as if they were P directives"
|
"use transaction prices (recorded with @ or @@) as additional market prices, as if they were P directives"
|
||||||
|
|
||||||
|
|||||||
@ -19,10 +19,13 @@ import System.Console.CmdArgs.Explicit
|
|||||||
|
|
||||||
pricesmode = hledgerCommandMode
|
pricesmode = hledgerCommandMode
|
||||||
$(embedFileRelative "Hledger/Cli/Commands/Prices.txt")
|
$(embedFileRelative "Hledger/Cli/Commands/Prices.txt")
|
||||||
[flagNone ["costs"] (setboolopt "costs") "print transaction prices from postings"
|
[flagNone ["infer-reverse-prices"] (setboolopt "infer-reverse-prices") "also show prices obtained by inverting transaction prices"
|
||||||
,flagNone ["inverted-costs"] (setboolopt "inverted-costs") "print transaction inverted prices from postings also"]
|
]
|
||||||
[generalflagsgroup1]
|
[generalflagsgroup1]
|
||||||
hiddenflags
|
(hiddenflags ++
|
||||||
|
[flagNone ["costs"] (setboolopt "infer-market-prices") "deprecated, use --infer-market-prices instead"
|
||||||
|
,flagNone ["inverted-costs"] (setboolopt "infer-reverse-prices") "deprecated, use --infer-reverse-prices instead"
|
||||||
|
])
|
||||||
([], Just $ argsFlag "[QUERY]")
|
([], Just $ argsFlag "[QUERY]")
|
||||||
|
|
||||||
-- XXX the original hledger-prices script always ignored assertions
|
-- XXX the original hledger-prices script always ignored assertions
|
||||||
@ -32,9 +35,18 @@ prices opts j = do
|
|||||||
q = _rsQuery $ reportspec_ opts
|
q = _rsQuery $ reportspec_ opts
|
||||||
ps = filter (matchesPosting q) $ allPostings j
|
ps = filter (matchesPosting q) $ allPostings j
|
||||||
mprices = jpricedirectives j
|
mprices = jpricedirectives j
|
||||||
cprices = map (stylePriceDirectiveExceptPrecision styles) $ concatMap postingsPriceDirectivesFromCosts ps
|
cprices =
|
||||||
icprices = map (stylePriceDirectiveExceptPrecision styles) $ concatMap (postingsPriceDirectivesFromCosts . postingTransformAmount (mapMixedAmount invertPrice)) ps
|
map (stylePriceDirectiveExceptPrecision styles) $
|
||||||
allprices = mprices ++ ifBoolOpt "costs" cprices ++ ifBoolOpt "inverted-costs" icprices
|
concatMap postingsPriceDirectivesFromCosts ps
|
||||||
|
rcprices =
|
||||||
|
map (stylePriceDirectiveExceptPrecision styles) $
|
||||||
|
concatMap (postingsPriceDirectivesFromCosts . postingTransformAmount (mapMixedAmount invertPrice))
|
||||||
|
ps
|
||||||
|
allprices =
|
||||||
|
mprices
|
||||||
|
++ ifBoolOpt "infer-market-prices" cprices
|
||||||
|
++ ifBoolOpt "infer-reverse-prices" rcprices -- TODO: shouldn't this show reversed P prices also ? valuation will use them
|
||||||
|
|
||||||
mapM_ (T.putStrLn . showPriceDirective) $
|
mapM_ (T.putStrLn . showPriceDirective) $
|
||||||
sortOn pddate $
|
sortOn pddate $
|
||||||
filter (matchesPriceDirective q) $
|
filter (matchesPriceDirective q) $
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
prices\
|
prices\
|
||||||
Print [market price directives](https://hledger.org/manual#market-prices) from the journal.
|
Print [market price directives](https://hledger.org/manual#market-prices) from the journal.
|
||||||
With --costs, also print synthetic market prices based on [transaction prices](https://hledger.org/manual#transaction-prices).
|
With --infer-market-prices, generate additional market prices from [transaction prices](https://hledger.org/manual#transaction-prices).
|
||||||
With --inverted-costs, also print inverse prices based on transaction prices.
|
With --infer-reverse-prices, also generate market prices by inverting transaction prices.
|
||||||
Prices (and postings providing prices) can be filtered by a query.
|
Prices (and postings providing transaction prices) can be filtered by a query.
|
||||||
Price amounts are always displayed with their full precision.
|
Price amounts are displayed with their full precision.
|
||||||
|
|
||||||
_FLAGS
|
_FLAGS
|
||||||
|
|||||||
@ -1600,7 +1600,6 @@ read -r -d "" _hledger_complist_options_prices <<"__TEXT__"
|
|||||||
--cleared
|
--cleared
|
||||||
--color=
|
--color=
|
||||||
--cost
|
--cost
|
||||||
--costs
|
|
||||||
--daily
|
--daily
|
||||||
--date2
|
--date2
|
||||||
--debug=
|
--debug=
|
||||||
@ -1613,8 +1612,8 @@ read -r -d "" _hledger_complist_options_prices <<"__TEXT__"
|
|||||||
--help
|
--help
|
||||||
--ignore-assertions
|
--ignore-assertions
|
||||||
--infer-market-prices
|
--infer-market-prices
|
||||||
|
--infer-reverse-prices
|
||||||
--info
|
--info
|
||||||
--inverted-costs
|
|
||||||
--man
|
--man
|
||||||
--market
|
--market
|
||||||
--monthly
|
--monthly
|
||||||
|
|||||||
@ -32,13 +32,13 @@ P 2016/2/1 EUR $1.05
|
|||||||
2016/1/3 spend
|
2016/1/3 spend
|
||||||
expenses 20 EUR @@ $21.45
|
expenses 20 EUR @@ $21.45
|
||||||
assets:bank
|
assets:bank
|
||||||
$ hledger prices -f- --costs
|
$ hledger prices -f- --infer-market-prices
|
||||||
P 2016-01-01 EUR $1.06
|
P 2016-01-01 EUR $1.06
|
||||||
P 2016-01-02 EUR $1.07
|
P 2016-01-02 EUR $1.07
|
||||||
P 2016-01-03 EUR $1.0725
|
P 2016-01-03 EUR $1.0725
|
||||||
P 2016-02-01 EUR $1.05
|
P 2016-02-01 EUR $1.05
|
||||||
|
|
||||||
# 3. inverted costs from postings can be calculated
|
# 3. inverted prices can be calculated
|
||||||
<
|
<
|
||||||
P 2016/1/1 EUR $1.06
|
P 2016/1/1 EUR $1.06
|
||||||
P 2016/2/1 EUR $1.05
|
P 2016/2/1 EUR $1.05
|
||||||
@ -51,7 +51,7 @@ P 2016/2/1 EUR $1.05
|
|||||||
2016/1/3 spend
|
2016/1/3 spend
|
||||||
expenses $21.45 @@ 20.00 EUR
|
expenses $21.45 @@ 20.00 EUR
|
||||||
assets:bank
|
assets:bank
|
||||||
$ hledger prices -f- --inverted-costs
|
$ hledger prices -f- --infer-reverse-prices
|
||||||
P 2016-01-01 EUR $1.06
|
P 2016-01-01 EUR $1.06
|
||||||
P 2016-01-03 EUR $1.0725
|
P 2016-01-03 EUR $1.0725
|
||||||
P 2016-02-01 EUR $1.05
|
P 2016-02-01 EUR $1.05
|
||||||
@ -74,7 +74,7 @@ P 2019-01-01 X 1.000,123 A
|
|||||||
P 2019-01-02 X 1.000,1 A
|
P 2019-01-02 X 1.000,1 A
|
||||||
|
|
||||||
# 5. Commodity styles aren't yet applied to prices inferred from transaction prices.
|
# 5. Commodity styles aren't yet applied to prices inferred from transaction prices.
|
||||||
$ hledger -f- prices --costs
|
$ hledger -f- prices --infer-market-prices
|
||||||
P 2019-01-01 X 1.000,123 A
|
P 2019-01-01 X 1.000,123 A
|
||||||
P 2019-01-02 X 1.000,1 A
|
P 2019-01-02 X 1.000,1 A
|
||||||
P 2019-02-01 X 1.000,2345 A
|
P 2019-02-01 X 1.000,2345 A
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user