John Wiegley
009b257397
It's now an error to use "end" without "account"
2009-11-10 01:05:44 -05:00
John Wiegley
09c9ec4b41
Directives no longer require @ or ! prefix char
2009-11-10 01:05:12 -05:00
John Wiegley
c927c74c2d
Throw an exception if an include file doesn't exist
2009-11-10 00:30:09 -05:00
John Wiegley
687c71c71d
Improved the numerical parser for basic amounts
...
1,00,000 now causes an error, for example, whereas before the commas
were largely ignored.
2009-11-10 00:10:25 -05:00
John Wiegley
5f01659b1c
Fix for automated amount multipliers and null amounts
2009-11-09 22:03:12 -05:00
John Wiegley
9e07e61fad
Fix to the XML code for ICU users
2009-11-09 14:05:01 -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
7411c74d6d
Redesigned the draft_t class
2009-11-09 02:06:08 -05:00
John Wiegley
fb8be53edb
Redesigned the format_t class
2009-11-09 02:06:08 -05:00
John Wiegley
c3535d06c8
Redesigned the expr_t, predicate_t, query_t classes
2009-11-09 02:06:06 -05:00
John Wiegley
523d4243e8
Made --european more pervasive in its effect
2009-11-08 18:30:35 -05:00
John Wiegley
394c7bd8df
Removed a bunch of empty comments
2009-11-08 14:59:11 -05:00
John Wiegley
6005975006
Check for Python options before functions
2009-11-08 13:36:16 -05:00
John Wiegley
47c1089c61
Make sure to clean up memory after a Python exception
2009-11-07 20:00:34 -05:00
John Wiegley
1bb2261c99
Fixed -r flag for balance reports
2009-11-07 08:36:27 -05:00
John Wiegley
98bf53eabc
Expose journal_t::read to Python
2009-11-07 08:36:24 -05:00
John Wiegley
c8641a6de6
Added support for Boost.Regex w/ ICU
...
This allows for correct searching of UTF-8 encoded strings, such as
lower-case versions of Russian words to find mixed-case words.
2009-11-07 08:34:13 -05:00
John Wiegley
9b2c2b6032
Python vars of unconvertable type return NULL_VALUE
2009-11-07 08:34:01 -05:00
John Wiegley
1a43b22791
Throw an error for unrecognized options in data files
2009-11-07 06:40:09 -05:00
John Wiegley
06f4c27867
Renamed journal_t::basket to bucket
2009-11-07 06:39:50 -05:00
John Wiegley
c8bab6d1c6
Throw an error if UTF-8 encoding is incorrect
2009-11-07 06:39:14 -05:00
John Wiegley
832e53f300
Column widths are always calculated now
2009-11-07 05:17:00 -05:00
John Wiegley
3f00f8362c
Don't use archive_t if boost_serialization unavailable
2009-11-06 16:17:30 -05:00
John Wiegley
2056396699
Fixed NULL pointer bug if --account=EXPR is invalid
2009-11-06 02:39:35 -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
05d0f1a17f
The binary cache is working again
2009-11-06 02:07:56 -05:00
John Wiegley
61f7d1295f
Changed dividers output by --options
2009-11-06 02:05:39 -05:00
John Wiegley
b2e9cf4ebe
Added disabled feature: "date" keyword in queries
2009-11-06 01:54:18 -05:00
John Wiegley
5e3f3d7f47
Report sought magnitude when balancing errors occur
2009-11-05 17:43:28 -05:00
John Wiegley
1bdb9330e5
Simplified passing of scope objects in Python
2009-11-05 17:16:59 -05:00
John Wiegley
09ace752d6
Added missing call to _dup() in value_t::in_place_cast
2009-11-05 05:11:50 -05:00
John Wiegley
deb674586c
Added new account_total value expression
...
This is used for accessing an account's current total within one's
Ledger file.
2009-11-05 05:11:39 -05:00
John Wiegley
4464ed187b
If a posting's amount is null, return 0L
2009-11-05 05:11:15 -05:00
John Wiegley
ab9fc6f9f0
Changed the type being throw of some exceptions
2009-11-05 05:11:01 -05:00
John Wiegley
060fc0e00b
Made many object methods in Python properties
2009-11-05 02:27:42 -05:00
John Wiegley
8bd16b2e8e
Simplified usage of Boost.Python in several cases
2009-11-05 02:27:42 -05:00
John Wiegley
34ee358f5e
Moved journal reading code into journal_t
2009-11-05 02:27:42 -05:00
John Wiegley
817f1ae161
std::string now only intercepted if STRING_VERIFY_ON
2009-11-05 02:27:42 -05:00
John Wiegley
3dc200983d
Moved xdata clearing code into each type proper
2009-11-05 02:27:39 -05:00
John Wiegley
40a430139e
Transactions, etc., are now accessed by iterators
2009-11-05 02:22:17 -05:00
John Wiegley
78e6770c4c
Segregated symbols into 5 separate namespaces
...
The different namespaces are:
Function Value expression functions, which receive a "context"
Option Command-line options
Precommand Commands which are invoked before reading the journal
Command Commands which are invoked after reading the journal
Directive Directives that occur at column 0 in a data file
This greatly eases the ability for Python uses to add intercept hooks to
change how the basic Ledger module functions. An example of what should
be possible soon:
import ledger
def my_foo_handler(value):
print "--foo received:", value
ledger.add_handler(ledger.Option, "foo=", my_foo_handler)
2009-11-04 20:40:48 -05:00
John Wiegley
4a14f3224b
Added value_t::push_front
2009-11-04 20:40:45 -05:00
John Wiegley
b14c814fec
Whitespace fix
2009-11-04 20:40:42 -05:00
John Wiegley
fbd660af20
Removed several unneeded Python interface files
2009-11-04 20:01:04 -05:00
John Wiegley
a77d9fc261
Added error message if a predicate query is invalid
2009-11-03 15:34:08 -05:00
John Wiegley
bdb3ebca3f
Initialize journal_t::basket to NULL
2009-11-03 15:33:52 -05:00
John Wiegley
6d835e52f5
Changed two callout comments
2009-11-03 14:51:36 -05:00
John Wiegley
d9963b0312
Removed an unnecessary comment
2009-11-03 14:51:22 -05:00
John Wiegley
1ef2274b3f
Fixed a compiler warning
2009-11-03 14:51:11 -05:00