Commit graph

114 commits

Author SHA1 Message Date
Johann Klähn
a875940a93 fix ledger xml output, remove ledger json command
As the format used by property trees to represent valid JSON
and that for valid XML is too different and given that there are
more requests for valid XML output I decided to pursue a quick fix
and remove the json command in favor of a working xml command.

See bug #782, #909, recent discussion on mailing list.

JSON support is postponed until I or someone else finds time to work on
this or the python bindings are more stable.
2013-03-08 22:56:01 +01:00
John Wiegley
0951bcebef Bump copyright information to 2013 2013-02-18 06:51:21 -06:00
Alexis Hildebrandt
36f87f49d8 Add --time-colon option
The --time-colon option will display the value for a seconds
based commodity as real hours and minutes.

For example 8100 seconds by default will be displayed as 2.25
whereas with the --time-colon option they will be displayed
as 2:15.
2012-11-10 12:02:00 +01:00
John Wiegley
4681e58d7f Converted the Ledger build system to use CMake 2012-05-20 04:48:05 -05:00
John Wiegley
a38ed141c1 Switched to Boost.PropertyTree for XML generation 2012-05-18 01:31:01 -06:00
John Wiegley
8e8c2904f5 Never price commodities using annotated commodities 2012-03-30 00:51:05 -05:00
John Wiegley
0f180b917a Improved some error messages 2012-03-29 16:25:22 -05:00
John Wiegley
e3248ee5a6 Fix problems with <Adjustment> postings 2012-03-20 04:56:03 -05:00
John Wiegley
d6274fee19 Extend commodity_t::compare_by_commodity::operator() 2012-03-19 00:30:15 -05:00
John Wiegley
610a3e1709 Don't map_prices if price commodity matches source
Fixes #680
2012-03-15 04:58:53 -05:00
John Wiegley
363670d35b Tighten up argument passing related to fn_market() 2012-03-11 03:55:25 -05:00
John Wiegley
628875b33c Use Boost.Tuple 2012-03-09 03:19:25 -06:00
John Wiegley
21e8b7f6f0 Added nail_down() for pinning market value exprs 2012-03-08 00:55:06 -06:00
John Wiegley
17a84642fb Corrected calculation of market valuation expressions 2012-03-08 00:54:19 -06:00
John Wiegley
97d68ebc8c Added "value" sub-directive for commodity directive 2012-03-06 03:24:06 -06:00
John Wiegley
02ffa7a515 Changed the category of a few DEBUG statements 2012-03-06 02:00:36 -06:00
John Wiegley
8d6bf11334 All tests are working again but one 2012-03-05 05:03:52 -06:00
John Wiegley
5d8cb30774 Implemented first cut at price conversion logic 2012-03-05 05:03:52 -06:00
John Wiegley
e910878312 Changes to get all the code to compile 2012-03-05 05:03:52 -06:00
John Wiegley
48ab6ad1db Switched to using Boost.Graph for commodity pricing 2012-03-05 05:03:52 -06:00
John Wiegley
e2afc783db Increased file copyrights to 2012 2012-02-29 22:32:23 -06:00
John Wiegley
c3a9a7d2c5 Fixed many Clang type conversion warnings with static_cast 2012-02-17 15:17:52 -06:00
John Wiegley
cf4a665a0e Fixes for variable shadowing (6/28) 2012-02-17 15:06:02 -06:00
John Wiegley
f0791bbd72 Cleanup whitespace 2011-08-18 14:48:38 -04:00
John Wiegley
2208ac1226 Fixes for compilation as C++0x code 2011-02-04 22:39:41 -05:00
John Wiegley
48a5823181 Based symbol_needs_quotes an invalid_chars (#386) 2010-07-29 03:45:01 -04:00
John Wiegley
c2a77c1237 Don't elide quotes for all-digit commodities 2010-06-14 03:46:50 -04:00
John Wiegley
dea2aed0b5 Untabified all source files 2010-06-11 17:02:25 -04:00
John Wiegley
8637dd6ccf New display flag AMOUNT_PRINT_ELIDE_COMMODITY_QUOTES
This is used by reports like register and balance so that separated
commodities without spaces in them needed be surrounded by quotes.  It
will still occur in most other places.

Fixes #200 / F82CF11F-BFD9-4512-A562-202B04B68051
2010-06-09 06:45:07 -04:00
John Wiegley
be6cef93c4 A further simplification of -V and -X
With -X COMM, all values are computed in terms of COMM, regardless.

With -V, only secondary commodities will ever be computed, never
primaries.  Further, if a secondary commodities has an associated price,
the valuation is done in terms of that price's commodity.
2010-06-07 09:49:17 -04:00
John Wiegley
653d2bd99a Corrected a verification test 2010-06-05 02:18:01 -04:00
John Wiegley
f16a5382ed commodity_t::find_price now uses memoization
This reduces the slowdown of using -V and -X from 36x in some cases down
to around 4-5x (for a debug build).
2010-06-04 05:16:30 -04:00
John Wiegley
a4a45cb4d6 any and all do not need to be reserved tokens 2010-06-04 03:40:39 -04:00
John Wiegley
b7e8cb9d54 More debug code cleanup 2010-06-04 03:34:56 -04:00
John Wiegley
7f7243ff93 Made the behavior of -V a bit more rational
It now only values non-primary commodities in terms of primary ones.
2010-06-04 03:11:14 -04:00
John Wiegley
2ae2dc86c6 Reorganized some debug code 2010-06-04 02:54:38 -04:00
John Wiegley
45451125e3 Simplified some debug code 2010-06-03 23:23:12 -04:00
John Wiegley
27b86a5388 Avoid unnecessary object copying when using foreach 2010-06-03 17:43:38 -04:00
John Wiegley
038c24357e Changed --european option to --decimal-comma
Fixes #211 / 1736ACA5-5DE6-4826-AEB4-DB5B2A2217AC
2010-06-01 17:56:41 -04:00
John Wiegley
6512201292 Changed a comment 2010-06-01 16:55:24 -04:00
John Wiegley
4ec54b86f8 Added any() and all() value expression macros
any() matches an expression against every post in a transaction or
account, and returns true if any of them are true.  all() tests if all
are true.  For example:

  ledger -l 'account =~ /Expense/ & any(account =~ /MasterCard/)' reg

This reports every posting affecting an Expense account (regex match),
but only if some other posting in the same transaction affects the
MasterCard account.

Both functions also take a second boolean argument.  If it is false, the
"source" posting is not considered.  For example:

  ledger -l 'any(/x/, false)'

This matches any posting where a *different* posting in the same
transaction contains the letter 'x'.
2010-05-08 02:06:06 -04:00
John Wiegley
ab416f759f Updated copyrights to 2003-2010 2010-03-05 22:14:10 -05:00
John Wiegley
6870c54644 Refactored some comparison helper classes 2010-02-05 00:00:38 -05:00
John Wiegley
4e30fcdf40 Many improvements to Ledger's Python bindings 2009-11-19 22:24:24 -05:00
John Wiegley
b2ba07b90c Fixed several time and date duration type uses 2009-11-17 21:28:43 -05:00
John Wiegley
6cdb79e2a6 XML reporting now works via the "xml" command 2009-11-09 03:42:35 -05:00
John Wiegley
2c80227339 Added basic foundation for XML reporting 2009-11-09 02:17:26 -05:00
John Wiegley
c8bab6d1c6 Throw an error if UTF-8 encoding is incorrect 2009-11-07 06:39:14 -05:00
John Wiegley
690e46117e Added Python interface for commodity_t 2009-11-02 21:55:53 -05:00
John Wiegley
e663a13502 Changed protection level of many parts of commodity_t 2009-11-02 17:05:51 -05:00