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
3f1861fb1e
Fixed a debug string
2009-11-19 01:27:10 -05:00
John Wiegley
0c3a6234a9
Don't auto-sort transactions for the balance report
2009-11-19 01:26:50 -05:00
John Wiegley
20965d9fa3
Changed several pointers to references in filters
2009-11-19 01:26:34 -05:00
John Wiegley
ae8b57f157
Renamed bool controlling running total calculations
...
It used to be "account_wise", since it only happens for non-account-wise
reports. Now it's called just "calc_running_total", so anyone can
request it.
2009-11-18 23:25:28 -05:00
John Wiegley
56d6df6123
Decompile all amount expressions for accounts reports
...
This happens after running through all the post handlers, before running
any of the account handlers.
2009-11-18 23:19:52 -05:00
John Wiegley
e27ba3e1ff
It's OK for a report query to be empty
...
It's always possible the user only specified a display predicate.
2009-11-18 23:19:51 -05:00
John Wiegley
93b8f3fe54
Whitespace fix
2009-11-18 23:14:07 -05:00
John Wiegley
539887b3fb
Changed only_preliminaries to for_accounts_report
2009-11-18 23:13:33 -05:00
John Wiegley
cd284f98c8
Added an ACCOUNT_GENERATED flag
2009-11-18 23:12:31 -05:00
John Wiegley
9a389650ea
Allow ! and - operators on sequence values
2009-11-18 16:56:58 -05:00
John Wiegley
97122cf1f7
Wasn't serializing date_range_t::end_inclusive member
2009-11-18 16:44:07 -05:00
John Wiegley
6cd0ba584e
Guarded some debug code
2009-11-18 05:50:21 -05:00
John Wiegley
e4b3f0bb3a
The new period parser is passing all tests
2009-11-18 05:45:48 -05:00
John Wiegley
7fe369eb49
The new period parser is implemented, but untested
2009-11-18 04:11:14 -05:00
John Wiegley
fe9af7ace7
Added a "range" member to date_interval_t
...
This is used to define the beginning/ending ranges of the time period,
before it becomes fixed (by calling stabilize()) and then sets the
values of start and end.
2009-11-18 01:28:01 -05:00
John Wiegley
3e91c3bf2c
Added several new types for working with dates and ranges
...
date_specifier_t ::
This is like a plain date_t, except it knows what wasn't specified.
For example, if 2008/06 is parsed, it becomes date_specifier_t which
knows that no day was given. If you ask for the begin() date of the
specifier, it will be 2008/06/01; the end() date (which is
exclusive) will be 2008/07/01.
date_range_t ::
A date range is a range of two specifiers, either of which (but not
both) may be omitted. This makes it possible to represent
expressions like "from june to july", where no day or year is given.
The exact dates will be inferred by using the current year, and
fixing the range from YEAR/06/01 to YEAR/07/01. That is, the range
goes from the begin() of one date specifier to the begin() of the
other.
date_specifier_or_range_t ::
A variadic type that can be either a date_specifier_t or a
date_range_t. It's just a wrapper to represent the fact that ranges
can be implicit via specifiers (such as, "in june"), or explicit via
ranges ("since 2008").
2009-11-17 22:23:46 -05:00
John Wiegley
d6cb382b20
Moved date_interval_t::duration_t to date_duration_t
2009-11-17 22:12:17 -05:00
John Wiegley
a866f39210
Added a date_traits_t type
2009-11-17 22:03:32 -05:00
John Wiegley
c28d828d8e
Renamed date_interval_t::end to finish
2009-11-17 21:51:51 -05:00
John Wiegley
4bc830a2c5
Some reformatting in query.h
2009-11-17 21:29:33 -05:00
John Wiegley
b06df8533b
Added ledger::string(Iter, Iter) constructor
2009-11-17 21:28:56 -05:00
John Wiegley
b2ba07b90c
Fixed several time and date duration type uses
2009-11-17 21:28:43 -05:00
John Wiegley
6b557f810e
Merge branch 'next'
2009-11-16 00:15:25 -05:00
John Wiegley
b2c426abae
Fixed one of the ExprTests
2009-11-15 22:13:53 -05:00
John Wiegley
9448bd6fa9
If tools/proof succeeds, move proof.log into /tmp
2009-11-15 05:50:55 -05:00
John Wiegley
21a9fe108e
Made the account and tag directives more rational
...
Now you must specify "account / end account", and "tag / end tag". For
backwards compatability, plain "end" is the same as "end account".
2009-11-15 05:49:54 -05:00
John Wiegley
2a411b5c1d
Corrected parsing of the 'expr' report query term
2009-11-15 05:49:54 -05:00
John Wiegley
38e165a994
Made the transaction date parser a bit more strict
2009-11-15 05:49:52 -05:00
John Wiegley
41212cd4c1
Build the opt variant for uploading to FTP
2009-11-15 04:16:47 -05:00
John Wiegley
badbeb545b
Merge branch 'next'
2009-11-14 20:43:28 -05:00
John Wiegley
8d698e5ccb
Don't use GLIBCXX_DEBUG only for opt builds
2009-11-14 17:43:19 -05:00
John Wiegley
cc7d51f154
Untabified tools/configure.ac
2009-11-14 16:19:18 -05:00
John Wiegley
24fc856664
Added README notes about building on OS X
2009-11-14 16:19:07 -05:00
John Wiegley
ca43dcbd1f
Don't configure doxygen or dot when building CppUnit
2009-11-14 16:19:00 -05:00
John Wiegley
9b614cdd0d
Use -fast for building optimized Ledger on OS X
2009-11-14 16:18:45 -05:00
John Wiegley
ff484fb27b
Fixes to the ways OS X libraries are located
2009-11-14 16:18:31 -05:00
John Wiegley
0f975df36b
Improved some of the dependencies targets
2009-11-14 16:17:48 -05:00
John Wiegley
ce96e61bf8
Removed ARCHFLAGS from the acprep file
2009-11-14 16:17:34 -05:00
John Wiegley
20c725df93
Made the amount_t::bigint_t refcount holder 32-bits
...
It was overflowing on a full register report of just 3M of data.
2009-11-14 06:25:27 -05:00
John Wiegley
d1faa1e505
Use the static Python libs when building statically
2009-11-14 06:13:06 -05:00
John Wiegley
cb9991093d
Changed a use of balance_error to amount_error
2009-11-14 06:12:10 -05:00
John Wiegley
aa3bade050
Added another catch handler for Python exceptions
2009-11-14 06:11:58 -05:00
John Wiegley
3bec708e38
Fixed an internal reference issue with Python
2009-11-14 06:11:45 -05:00
John Wiegley
d12c7e08c6
Removed post_t::xdata_t::ptr, which is not used
2009-11-14 06:11:18 -05:00
John Wiegley
d89c60f49c
Memoize results from the fast predicate matcher
...
This gains another 15% for the parser, again with a very simple change
that has no impact if the fast predicate matcher fails to work.
2009-11-14 04:29:53 -05:00
John Wiegley
e3064b9520
Spot optimization for simple automated xact exprs
...
This reduces parsing time in the optimized build by 25%, and was a safe,
easy patch. If the "quick predicate evaluator" fails, we disable it
from that point on go back to what the standard code does.
2009-11-14 03:45:18 -05:00
John Wiegley
d71f0867f9
Removed the virtual marker on several filter methods
2009-11-14 03:16:44 -05:00
John Wiegley
ac0fe8c248
Move .dmg files after uploading in tools/push
2009-11-14 03:12:09 -05:00
John Wiegley
a461e17eee
Added historical support for single-letter valexprs
2009-11-14 03:11:48 -05:00