Commit graph

211 commits

Author SHA1 Message Date
John Wiegley
0f1afdb3a7 Minor optimization of amount_t::operator* 2010-06-03 05:47:12 -04:00
John Wiegley
cbc0a125c0 Correct display of amounts with keep_precision
Fixes #167 / 1D275740-D1A6-42B7-BDE4-F2F85E30CE8E
2010-06-02 06:24:25 -04:00
John Wiegley
f68b4d0f0f Remove redundant code in LedgerHarness.py 2010-06-02 05:03:51 -04:00
John Wiegley
5cdd36f358 Further improved parsing of query expressions
Fixes #210 / D4C2DD6F-8967-4FFC-BBBC-A941F9C53475
2010-06-01 18:33:13 -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
654c842348 -G option now takes price history into account 2010-05-30 21:58:05 -06:00
John Wiegley
5a2644c1b7 -V/-X options now take price history into account 2010-05-30 20:49:50 -06:00
John Wiegley
4f3b39e22c Empty notes and tags now return null values 2010-05-30 03:01:11 -06:00
John Wiegley
04461f49fd Optimized amount_t::in_place_truncate 2010-05-26 00:58:04 -06:00
John Wiegley
dd8f4ce88f Added a new baseline test for the print command 2010-05-23 17:04:00 -06:00
John Wiegley
7bddcd676b Added --rounding option, which is off by default
The purpose of this option is to add special "<Rounding>" postings, to
ensure that a regiter's running total is *always* the sum of its
postings.  Within --rounding, these adjustment postings are missing,
which was the behavior in Ledger 2.x.  It can be orders of magnitude
slower to turn it on for large reports with many commodities.
2010-05-23 15:45:51 -06:00
John Wiegley
91f839e827 Do not implicitly sort register output
The switches the default back to the same as 2.x, which is --unsorted.
2010-03-17 00:49:11 -04:00
John Wiegley
75b7294a6d Rewrite the "print" command as a custom function
There ended up being too many corner cases for the generalized formatter
to handle.
2010-03-08 01:11:48 -05:00
John Wiegley
ac9a84463d Fixed tests relative to recent --pivot change 2010-02-04 04:23:27 -05:00
Aristid Breitkreuz
a3338a2a67 Added baseline tests for unrealized options
This includes another baseline test for --unrealized, and also new ones
for --unrealized-gains and --unrealized-losses.
2009-11-25 04:50:36 -05:00
John Wiegley
a84c42fc17 Fixed regression tests relating to b1d6ea876c 2009-11-24 04:15:21 -05:00
John Wiegley
eab95ad55b Fixed a regression test due to changes in amount.h 2009-11-20 23:41:53 -05:00
John Wiegley
4e6ec09e4d Updated test/input/sample.dat 2009-11-20 18:29:49 -05:00
John Wiegley
ef5c0b37d5 Added baseline test for "sample.dat" contents 2009-11-20 18:24:22 -05:00
John Wiegley
4e30fcdf40 Many improvements to Ledger's Python bindings 2009-11-19 22:24:24 -05:00
John Wiegley
63fee4c837 Added an --unrealized option, for use with bal -V
When this option is on, then in balance report which show market values,
any gains or losses in value will be balanced into a pair of accounts
called Equity:Unrealized Gains and Equity:Unrealized Losses.
2009-11-19 02:00:10 -05:00
John Wiegley
e4b3f0bb3a The new period parser is passing all tests 2009-11-18 05:45:48 -05:00
John Wiegley
c28d828d8e Renamed date_interval_t::end to finish 2009-11-17 21:51:51 -05:00
John Wiegley
b2c426abae Fixed one of the ExprTests 2009-11-15 22:13:53 -05:00
John Wiegley
ee93b5c740 Added baseline test for reg -n 2009-11-14 02:32:18 -05:00
John Wiegley
c182b7051b Renamed the pricesdb command to pricedb 2009-11-12 01:43:57 -05:00
John Wiegley
e8ea2d4938 Automated postings defer amount expression calculation
This allows for value expressions to be used which reference the
incoming posting, for example:

  = Income:Clients:
    (Liabilities:Taxes:VAT1)  (floor(amount) * 1)
    (Liabilities:Taxes:VAT2)  0.19

  2009/07/27 * Invoice
    Assets:Bank:Checking                           $1,190.45
    Income:Clients:ACME_Inc

The automated posting for VAT1 will use the floored amount multiplied by
a factor, while the posting for VAT2 multiples the whole amount as
before.
2009-11-11 04:22:37 -05:00
John Wiegley
ac885a9075 All strings passed to Python are now Unicode objects 2009-11-10 18:44:08 -05:00
John Wiegley
39532bdf35 Automated transactions now use report query syntax
This returns their behavior back very close to what 2.x accepts.
2009-11-10 02:44:16 -05:00
John Wiegley
c3535d06c8 Redesigned the expr_t, predicate_t, query_t classes 2009-11-09 02:06:06 -05:00
John Wiegley
832e53f300 Column widths are always calculated now 2009-11-07 05:17:00 -05:00
John Wiegley
a05d39b722 Renamed --set-reported-account to just --account
This fits better with the --amount and --total options, which both
change the amount and total used for calculation.  Same with --account:
it happens after filtering, but before calculation so that balance
reports look as you'd expect.
2009-11-06 02:39:30 -05:00
John Wiegley
5e3f3d7f47 Report sought magnitude when balancing errors occur 2009-11-05 17:43:28 -05:00
John Wiegley
5e1886b147 Only --args-only is needed in LedgerHarness.py 2009-11-02 04:41:32 -05:00
John Wiegley
0a9cc833ad Added a regression test relating to forecasting 2009-11-02 01:59:43 -05:00
John Wiegley
4a249d6172 Fixed issues with period strings like "2009/10" 2009-11-02 01:59:24 -05:00
John Wiegley
90c7298049 Renamed the DocTests to ManualTests 2009-11-02 01:58:53 -05:00
John Wiegley
3a0879aff0 Added "reported posts" into account xdata
This is necessary because sometimes, a post from one account will get
reported as though it were in another account (this happens with
--budget, to show child account postings within their parent account).
In that case, the account needs to remember which postings have been
reported as being within it, so that it can add these amounts to its own
total in the balance report.
2009-11-02 01:40:07 -05:00
John Wiegley
4db60bb464 Added several new regression tests 2009-11-02 01:21:45 -05:00
John Wiegley
95e08cc46f Make the source directory available to all tests 2009-11-02 00:48:32 -05:00
John Wiegley
307b63be77 Fixed baseline tests relating to earlier changes 2009-11-02 00:32:34 -05:00
John Wiegley
46a419a5da Added DocTests to verify documentation examples 2009-11-01 21:18:09 -05:00
John Wiegley
55f5868380 Setting --date-format in ~/.ledgerrc works again 2009-10-29 00:52:51 -04:00
John Wiegley
d6d8ed6d99 Fixes to the Python unit tests 2009-10-28 23:09:35 -04:00
John Wiegley
9a07652fd8 Disabled some of the expression tests under Python 2009-10-28 22:50:33 -04:00
John Wiegley
47df7dd60e Rewrote the report query parser
It is now a full parser that parses report queries directly into value
expression trees.  These then get rendered into text so that other
options may extend the expression.
2009-10-28 18:40:31 -04:00
John Wiegley
65e8eca6cf The test harness needs to run without the pager 2009-10-28 02:30:51 -04:00
John Wiegley
16dbd019bc Colorization at the terminal now on by default 2009-10-28 02:13:54 -04:00
John Wiegley
18a1c8a3fb No more trailing spaces in the print report 2009-10-28 01:43:04 -04:00
John Wiegley
559566751d Sort by default unless --unsorted is selected 2009-10-28 01:17:10 -04:00