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
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
946534b102
A little bit of code cleanup
2010-06-04 02:23:04 -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
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
98fdb135c8
Added even more missing virtual keywords!
2009-11-22 23:13:48 -05:00
John Wiegley
4e30fcdf40
Many improvements to Ledger's Python bindings
2009-11-19 22:24:24 -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
394c7bd8df
Removed a bunch of empty comments
2009-11-08 14:59:11 -05:00
John Wiegley
b14c814fec
Whitespace fix
2009-11-04 20:40:42 -05:00
John Wiegley
1ef2274b3f
Fixed a compiler warning
2009-11-03 14:51:11 -05:00
John Wiegley
690e46117e
Added Python interface for commodity_t
2009-11-02 21:55:53 -05:00
John Wiegley
4befcfa27d
Added Python interface for commodity_pool_t
2009-11-02 21:55:47 -05:00
John Wiegley
e663a13502
Changed protection level of many parts of commodity_t
2009-11-02 17:05:51 -05:00
John Wiegley
094794c640
Added a --european flag, to use commas for decimals
...
Ledger can often figure this out for itself, but this flag just makes it
the default behavior. It is meant to be added to one's ~/.ledgerrc
file.
2009-11-02 02:39:31 -05:00
John Wiegley
de3893a08a
Added missing TRACE_CTOR calls
2009-11-01 06:01:11 -05:00
John Wiegley
a757b19f51
Added serialization methods for most type
...
This allows journal_t objects to be completed serialized to disk and
deserialized.
2009-10-30 18:06:37 -04:00
John Wiegley
1fad2ec7c1
More refactoring for --download
2009-06-24 18:08:56 +01:00
John Wiegley
991e3a3eaf
Split commodity.h/cc into three files
...
commodity.h - code for commodity_t
annotate.h - commodity annotations
pool.h - commodity pool management
2009-06-24 16:43:46 +01:00
John Wiegley
440124eacc
Restored --download, although not done yet
...
The problem at this point is that it's recording prices in the price
database multiple times; it should only need to download a price for
each commodity once per day.
2009-06-24 02:44:07 +01:00
John Wiegley
86dfc1e0be
The -X option now accepts price settings
...
For example, if you had 100 AU (onces of gold) and wanted to report it
in dollars, but at a price of $997 per ounce, you could now easily say:
ledger bal -X '$,AU=$997'
2009-06-18 18:50:49 +01:00
John Wiegley
c11d325712
Reduced the #include dependency tree to a minimum
2009-03-04 23:53:43 -04:00
John Wiegley
1c7de0f9e4
Added "fixated commodity pricing"
...
If you put '=' before an annotated commodity's price, it will cause any
future market valuation of that commodity to use that price, and ignore
whatever changes may have happened since in the market price. This can
be useful if you are tracking gas expenses based on a standard rate
which, although it changes over time, should not adjust the historical
valuation of how much the gas cost at the time it was purchased:
2009/01/01 Payee
Expenses:Gas 100 GAL {=$2}
Liabilities:MasterCard $-200
2009-03-02 16:39:26 -04:00
John Wiegley
38cf0e56f5
Added --lots-actual, to not print calc'd details
2009-02-27 15:45:21 -04:00
John Wiegley
79c7478278
Fixes to the way annotated prices are displayed
2009-02-24 03:40:57 -04:00
John Wiegley
49d79045a5
Removed unused member keep_details_t::keep_base
2009-02-23 15:15:33 -04:00
John Wiegley
ea75613760
--exchange option now accepts multiple commodities
...
They must be separated by a comma, and all whitespace is ignored.
2009-02-22 17:51:11 -04:00
John Wiegley
e124811d8a
Added --exchange (-x) option
...
This is like -V, except it lets you specify the goal commodity to report
in terms of, for example:
reg -x CAD
2009-02-22 04:51:11 -04:00
John Wiegley
f2f52066d2
Added a --strict session option
...
When enabled, if any accounts or commodities are seen in an uncleared
transaction, which were not seen previously in a cleared or pending
transaction or a textual directive dealing with accounts or commodities,
a warning is generated about the unknown item.
2009-02-19 22:36:08 -04:00
John Wiegley
d0a664d102
Fixed several unused value and param warnings
2009-02-16 16:55:18 -04:00
John Wiegley
8ee8af3bfb
Restored the "prices" command.
2009-02-12 04:57:19 -04:00
John Wiegley
6f37d88391
Fixed a mistakenly const parameter.
2009-02-07 22:50:56 -04:00
John Wiegley
591ebbf1bd
Moved parse_commodity_price into commodity_pool_t.
2009-02-07 21:55:38 -04:00
John Wiegley
4a28e1765c
Fixed some #include ordering issues.
2009-02-07 19:36:51 -04:00
John Wiegley
08bc27ff0d
Removed commodity_pool_t's use of boost::multi_index_container, and also its
...
used of the ident membe, which was only ever used by the binary cache code.
2009-02-07 18:41:45 -04:00
John Wiegley
ecc5a1aab5
Whitespace fix.
2009-02-06 03:30:53 -04:00
John Wiegley
2d941730b1
Largely removed all of Ledger's use of global variables, for the REPL's sake.
2009-02-04 19:55:27 -04:00
John Wiegley
3434650848
Removed the binary caching code, and the XML, QIF and Gnucash parsers.
2009-02-03 12:22:10 -04:00
John Wiegley
1ece3f8b1c
Added documentation stubs for all include files and classes.
2009-01-31 15:28:23 -04:00
John Wiegley
9aaab88c61
Update Doxygen documentation. Still much more work to be done.
2009-01-29 02:24:42 -04:00
John Wiegley
094c64b67c
amount_t and commodity_t objects can now stream themselves to XML.
2009-01-28 20:49:44 -04:00
John Wiegley
887828a40c
Increased copyright range to include 2009.
2009-01-20 01:53:31 -04:00
John Wiegley
d9197fc2e5
Changed COMMODITY_STYLE_NOMARKET TO COMMODITY_NOMARKET.
2009-01-19 22:24:56 -04:00
John Wiegley
52e140d14e
Lookup commodity prices recursively, searching for the newest data.
2009-01-19 19:59:49 -04:00
John Wiegley
5cc99a6972
Changed COMMODITY_STYLE_BUILTIN to COMMODITY_BUILTIN, and added new flag
...
COMMODITY_WALKED, for avoiding infinite recursions during price lookups.
2009-01-19 19:58:47 -04:00
John Wiegley
009dd3969a
Added a recursive, date-based commodity price searching capability. This
...
makes it possible to find all possible prices for a commodity by walking the
map of pricing relationships to all other commodities, even if the relation is
distant.
2009-01-19 17:48:27 -04:00
John Wiegley
b5386b2534
Added code to recursively search for a price in a given commodity.
2008-09-25 13:59:01 -04:00
John Wiegley
6007e3cbfe
Did more restructing of commodity price histories, although the completed
...
find_price does not work yet.
2008-09-21 10:26:38 -04:00