diff options
Diffstat (limited to 'emacs.cc')
-rw-r--r-- | emacs.cc | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/emacs.cc b/emacs.cc deleted file mode 100644 index 76d10fa6..00000000 --- a/emacs.cc +++ /dev/null @@ -1,101 +0,0 @@ -#include "emacs.h" - -namespace ledger { - -void format_emacs_transactions::write_entry(entry_t& entry) -{ - int idx = entry.src_idx; - for (strings_list::iterator i = entry.journal->sources.begin(); - i != entry.journal->sources.end(); - i++) - if (! idx--) { - out << "\"" << *i << "\" "; - break; - } - - out << (((unsigned long)entry.beg_pos) + 1) << " "; - - switch (entry.state) { - case entry_t::CLEARED: - out << "t "; - break; - case entry_t::PENDING: - out << "pending "; - break; - case entry_t::UNCLEARED: - out << "nil "; - break; - } - - out << "(" << (entry.date / 65536) << " " - << (entry.date % 65536) << " 0) "; - - if (entry.code.empty()) - out << "nil "; - else - out << "\"" << entry.code << "\" "; - - if (entry.payee.empty()) - out << "nil"; - else - out << "\"" << entry.payee << "\""; - - out << "\n"; -} - -void format_emacs_transactions::operator()(transaction_t& xact) -{ - if (! transaction_has_xdata(xact) || - ! (transaction_xdata_(xact).dflags & TRANSACTION_DISPLAYED)) { - if (! last_entry) { - out << "(("; - write_entry(*xact.entry); - } - else if (xact.entry != last_entry) { - out << ")\n ("; - write_entry(*xact.entry); - } - else { - out << "\n"; - } - - out << " (\"" << xact.account->fullname() << "\" \"" - << xact.amount << "\""; - if (xact.cost) - out << " \"" << *xact.cost << "\""; - else if (! xact.note.empty()) - out << " nil"; - if (! xact.note.empty()) - out << " \"" << xact.note << "\""; - out << ")"; - - last_entry = xact.entry; - - transaction_xdata(xact).dflags |= TRANSACTION_DISPLAYED; - } -} - -} // namespace ledger - -#ifdef USE_BOOST_PYTHON - -#include <boost/python.hpp> - -using namespace boost::python; -using namespace ledger; - -void export_emacs() -{ - typedef - pystream_handler_wrap<format_emacs_transactions, transaction_t> - format_emacs_transactions_wrap; - - class_< format_emacs_transactions_wrap, bases<item_handler<transaction_t> > > - ("FormatEmacsTransactions", - init<PyObject *>()[with_custodian_and_ward<1, 2>()]) - .def("flush", &format_emacs_transactions_wrap::flush) - .def("__call__", &format_emacs_transactions_wrap::operator()) - ; -} - -#endif // USE_BOOST_PYTHON |