Simon Michael
8256a4fcbd
test util cleanups
2009-04-01 04:57:05 +00:00
Simon Michael
0693723aee
ltrace, labelled trace
2009-03-15 03:58:43 +00:00
Simon Michael
931144a12d
remove conflictory p
2009-01-25 13:55:08 +00:00
Simon Michael
bd8dcefd9d
apply --depth to print command
2009-04-02 06:02:00 +00:00
Simon Michael
89abdfa456
refactor/fix balanced entry checking and test it properly
2009-04-01 08:55:46 +00:00
Simon Michael
0cacc2a7e4
test and bugfix for multi-day timelog session splitting
2009-03-15 12:42:03 +00:00
Simon Michael
564aba4976
split midnight-spanning timelog sessions. Accurate time reports at last!
2009-01-26 20:22:42 +00:00
Simon Michael
ae5a9439d0
count time elapsed in open timelog entries, ignore time zone
...
Any open sessions in a timelog will be considered clocked out as of the
current time, and included in calculations. Also, contrary to the earlier
patch we now ignore timezone everywhere and deal only with local times.
This might need revisiting eg to track time while crossing timezones.
2009-01-25 07:06:59 +00:00
tim
ec10ab8a16
Added variants to parse dates into maybe values
2009-01-11 06:58:35 +00:00
Simon Michael
80f20bdad8
tests and bugfix for accountNameTreeFrom
2009-03-15 04:02:04 +00:00
Simon Michael
2dac5754c7
subAccounts test and bugfix
2009-03-15 04:06:10 +00:00
Simon Michael
d8989a357d
account/description matching is supposed to be case-insensitive, fix
2009-01-27 22:16:57 +00:00
tim
fd8587fbdf
Handle !includes relative to the including file
2009-02-04 21:27:20 +00:00
Simon Michael
25526cf4b3
parse timelog entries according to a timezone stored in the context
2009-01-24 21:46:09 +00:00
Simon Michael
44cbed59cb
use longer but standard and clearer getCurrentTime/Day
2009-01-24 19:48:37 +00:00
Simon Michael
b218647631
a little cleanup, haddock parsing context
2009-01-24 21:15:38 +00:00
Simon Michael
f8905464ac
implement default year, allowing m/d dates in ledger
2009-01-27 21:55:26 +00:00
Simon Michael
16e33b50e6
parse Y default year lines in a ledger, so they don't break it (ignoring them)
2009-01-22 23:42:34 +00:00
Simon Michael
46c09c6fac
patterns now use not: and desc: prefixes instead of ^ and ^^
...
This is more like but not the same as ledger 3.
2009-04-02 06:25:22 +00:00
Simon Michael
564c218d61
dead code
2008-11-25 04:15:03 +00:00
tim
6fdaf2a248
Added showAmount' that shows only the number part of an amount
2008-11-23 21:26:38 +00:00
Simon Michael
770c2956a5
oops, maybe another piece of the Date/DateTime removal
2008-11-27 04:29:32 +00:00
Simon Michael
4d5478b334
haddock fix
2008-11-27 07:50:02 +00:00
Simon Michael
b4fed8f2fd
docs
2008-12-04 19:32:30 +00:00
Simon Michael
e333c76d6f
leaves utility
2008-12-04 19:32:42 +00:00
Simon Michael
6f6ce11ca8
more balance-calculating extraction
2008-12-05 08:26:13 +00:00
Simon Michael
eca112f7d4
extract common balance-calculating code
2008-12-05 05:09:54 +00:00
Simon Michael
76df6ec88f
optimise cacheLedger by using the tree to help calculate account balances
...
from:
total time = 0.14 secs (7 ticks @ 20 ms)
total alloc = 275,520,536 bytes (excludes profiling overheads)
cacheLedger 1 0.0 0.1 42.9 48.6
sumTransactions 0 0.0 0.6 28.6 42.5
isZeroAmount 13529 0.0 2.0 14.3 39.2
showAmount 13529 0.0 7.2 14.3 37.2
showAmount' 13529 14.3 29.9 14.3 29.9
con2tag_Side# 27232 0.0 0.0 0.0 0.0
normaliseMixedAmount 6733 0.0 1.8 14.3 2.7
con2tag_Side# 120 0.0 0.0 0.0 0.0
sumAmountsPreservingPrice 6803 0.0 0.2 14.3 1.0
amountop 13351 0.0 0.4 14.3 0.8
convertAmountTo 13351 14.3 0.4 14.3 0.4
conversionRate 13351 0.0 0.0 0.0 0.0
isAccountNamePrefixOf 25122 0.0 2.0 0.0 2.0
to:
total time = 0.08 secs (4 ticks @ 20 ms)
total alloc = 168,637,964 bytes (excludes profiling overheads)
cacheLedger 1 0.0 0.1 0.0 27.1
sumTransactions 0 0.0 0.3 0.0 18.8
isZeroAmount 3931 0.0 0.9 0.0 17.3
showAmount 3931 0.0 3.4 0.0 16.3
showAmount' 3931 0.0 12.9 0.0 12.9
con2tag_Side# 7884 0.0 0.0 0.0 0.0
normaliseMixedAmount 1964 0.0 0.8 0.0 1.3
con2tag_Side# 12 0.0 0.0 0.0 0.0
sumAmountsPreservingPrice 1970 0.0 0.1 0.0 0.5
amountop 3793 0.0 0.2 0.0 0.4
convertAmountTo 3793 0.0 0.2 0.0 0.2
conversionRate 3793 0.0 0.0 0.0 0.0
2008-12-05 03:31:45 +00:00
Simon Michael
8bc078ff7b
fix haddock error preventing docs update
2008-12-10 05:52:26 +00:00
Simon Michael
fdb45b8d9c
make mixed amount adding and showing more robust
2008-12-05 04:36:32 +00:00
Simon Michael
063dce2642
more string utils
2008-12-06 07:15:19 +00:00
nick
4ea30b7411
Fixed ;-only bug
2008-12-08 07:20:29 +00:00
Simon Michael
130e3bcd30
utils tweaks
2008-12-10 07:08:50 +00:00
Simon Michael
da70e00e3b
make fromparse utility show the parse error
2008-12-08 17:15:02 +00:00
nick
68682fa0ee
Tilde expansion in !include
2008-12-10 17:40:05 +00:00
nick
600582184c
Support for !account directives, and tests
2008-12-08 07:21:33 +00:00
nick
9b7a3689f5
!account affects timelog entries
2008-12-10 17:40:36 +00:00
tim
250c92f646
Support parsing of dates in yyyy-dd-mm format
2008-12-09 07:15:18 +00:00
Simon Michael
470cae55ca
show clockin/out times in timelog entries, detect clockout < clockin
2008-12-11 01:35:07 +00:00
Simon Michael
614e6e6932
count timelog sessions on the day they end, like ledger, for now
2008-12-05 01:16:42 +00:00
tim
4bc97d237a
Added support for reading historical prices from files
2008-12-16 10:54:20 +00:00
nick
5e0313e447
Added timelog entries to ledger and added useful utilities
2008-12-08 01:48:03 +00:00
Simon Michael
b51740e9bb
optimise canonicaliseAmounts
...
First optimisation in a while. hledger -s bal on my ledger took 2s, and profiling showed:
total time = 0.66 secs (33 ticks @ 20 ms)
total alloc = 3,631,667,848 bytes (excludes profiling overheads)
canonicaliseAmounts 1 0.0 0.8 69.7 92.4
rawLedgerCommoditiesWithSymbol 3928 27.3 23.1 69.7 91.6
rawLedgerCommodities 0 18.2 18.7 42.4 68.5
amounts 7712628 3.0 0.0 3.0 0.0
rawLedgerAmounts 0 0.0 9.3 21.2 49.9
rawLedgerTransactions 0 9.1 19.5 21.2 40.5
flattenEntry 3408636 12.1 21.0 12.1 21.0
Now it takes 1/2s and the profile is healthier:
total time = 0.14 secs (7 ticks @ 20 ms)
total alloc = 275,520,536 bytes (excludes profiling overheads)
canonicaliseAmounts 1 0.0 0.4 0.0 0.5
amounts 1964 0.0 0.0 0.0 0.0
rawLedgerTransactions 0 0.0 0.1 0.0 0.1
flattenEntry 868 0.0 0.1 0.0 0.1
2008-12-05 02:09:19 +00:00
nick
0be862f760
Fixed TimeLog handling and certain blank lines
2008-12-08 03:45:35 +00:00
Simon Michael
3343e21ab1
work towards a fix for zero-balance root account eliding
2009-01-17 18:07:20 +00:00
Simon Michael
a51596899f
a cached ledger now includes the full ledger text, also.
...
This reads the file twice, since I couldn't figure out how to do it just
once with the new error monad.. fixes welcome.
2008-12-10 07:29:08 +00:00
nick
ee4a2a1c1e
New ledger parser with file inclusion
2008-12-08 01:49:31 +00:00
Simon Michael
ebdf67a5ab
smart dates: also accept yyyymmdd with no separators
2009-01-17 20:07:24 +00:00
nick
91f3b7faac
Abstract over all GenParser state types
2008-12-08 01:11:07 +00:00
Simon Michael
5a0156d5ee
smart dates: work towards next/last monthname/weekdayname
2009-01-17 20:21:44 +00:00