Commit graph

2611 commits

Author SHA1 Message Date
John Wiegley
cc9110a43a Merge branch 'next' 2009-11-19 03:37:16 -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
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