From 435b9ed7794958626a66b2490a7ec67033508eaa Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Fri, 10 Sep 2004 19:52:51 -0400 Subject: added python support for Format() objects. see main.py --- format.cc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'format.cc') diff --git a/format.cc b/format.cc index e6086b44..0f39b423 100644 --- a/format.cc +++ b/format.cc @@ -185,8 +185,7 @@ element_t * format_t::parse_elements(const std::string& fmt) return result.release(); } -void format_t::format_elements(std::ostream& out, - const details_t& details) const +void format_t::format(std::ostream& out, const details_t& details) const { for (const element_t * elem = elements; elem; elem = elem->next) { if (elem->align_left) @@ -439,15 +438,22 @@ bool format_account::display_account(const account_t& account, using namespace boost::python; using namespace ledger; +template +std::string py_format(format_t& format, T& item) { + std::ostringstream out; + format.format(out, details_t(item)); + return out.str(); +} + void export_format() { -#if 0 - class_< format_transactions > ("FormatTransactions") - .def(init *>()) - .def("flush", &format_transactions::flush) - .def("__call__", &format_transactions::operator()); + class_< format_t > ("Format") + .def(init()) + .def("reset", &format_t::reset) + .def("format", py_format) + .def("format", py_format) + .def("format", py_format) ; -#endif } #endif // USE_BOOST_PYTHON -- cgit v1.2.3