more "entry" fixes

This commit is contained in:
John Wiegley 2004-09-23 20:10:33 -04:00
parent d0ba09f1e0
commit 02580c2efb
2 changed files with 17 additions and 2 deletions

View file

@ -380,9 +380,13 @@ entry_t * journal_t::derive_entry(strings_list::iterator i,
xact = new transaction_t(m_xact->account, - first->amount);
added->add_transaction(xact);
if (i != end)
if (account_t * acct = find_account(*i))
if (i != end) {
account_t * acct = find_account_re(*i);
if (! acct)
acct = find_account(*i);
if (acct)
added->transactions.back()->account = acct;
}
} else {
while (i != end) {
std::string& re_pat(*i++);
@ -668,6 +672,8 @@ void export_journal()
.def("remove_account", &journal_t::remove_account)
.def("find_account", py_find_account_1, return_internal_reference<1>())
.def("find_account", py_find_account_2, return_internal_reference<1>())
.def("find_account_re", &journal_t::find_account_re,
return_internal_reference<1>())
.def("add_entry", &journal_t::add_entry)
.def("remove_entry", &journal_t::remove_entry)

View file

@ -307,6 +307,15 @@ ledger entry 4/9 viva 11.00
# Pay $11.00 to food from checking
ledger entry 4/9 viva 11.00 checking
# Pay $11.00 to food, $8.00 to tips
ledger entry 4/9 viva food 11.00 tips 8
# Same as the last, but draw from cash
ledger entry 4/9 viva food 11.00 tips 8 cash
# Same as the last, but force the commodity
ledger entry 4/9 viva food $11.00 tips $8 cash
# Pay DM 11.00 to dining, no matter what the entry said
ledger entry 4/9 viva dining "DM 11.00"
@end example