diff options
-rw-r--r-- | src/py_amount.cc | 16 | ||||
-rw-r--r-- | src/py_balance.cc | 31 | ||||
-rw-r--r-- | src/py_value.cc | 17 |
3 files changed, 37 insertions, 27 deletions
diff --git a/src/py_amount.cc b/src/py_amount.cc index 2307c454..09d3294e 100644 --- a/src/py_amount.cc +++ b/src/py_amount.cc @@ -44,13 +44,16 @@ using namespace boost::python; namespace { - boost::optional<amount_t> - py_value_1(const amount_t& amount, commodity_t& in_terms_of) { + boost::optional<amount_t> py_value_0(const amount_t& amount) { + return amount.value(false, CURRENT_TIME()); + } + boost::optional<amount_t> py_value_1(const amount_t& amount, + commodity_t& in_terms_of) { return amount.value(false, CURRENT_TIME(), in_terms_of); } - boost::optional<amount_t> - py_value_2(const amount_t& amount, commodity_t& in_terms_of, - datetime_t& moment) { + boost::optional<amount_t> py_value_2(const amount_t& amount, + commodity_t& in_terms_of, + datetime_t& moment) { return amount.value(false, moment, in_terms_of); } @@ -226,7 +229,8 @@ internal precision.")) .def("in_place_unreduce", &amount_t::in_place_unreduce, return_internal_reference<>()) - .def("value", py_value_1, args("moment")) + .def("value", py_value_0) + .def("value", py_value_1, args("in_terms_of")) .def("value", py_value_2, args("in_terms_of", "moment")) .def("price", &amount_t::price) diff --git a/src/py_balance.cc b/src/py_balance.cc index 5aed2b43..760730a7 100644 --- a/src/py_balance.cc +++ b/src/py_balance.cc @@ -45,28 +45,18 @@ using namespace boost::python; namespace { boost::optional<balance_t> py_value_0(const balance_t& balance) { - return balance.value(); + return balance.value(false, CURRENT_TIME()); } boost::optional<balance_t> py_value_1(const balance_t& balance, - const bool primary_only) { - return balance.value(primary_only); + commodity_t& in_terms_of) { + return balance.value(false, CURRENT_TIME(), in_terms_of); } - - boost::optional<balance_t> - py_value_2(const balance_t& balance, - const bool primary_only, - const boost::optional<datetime_t>& moment) { - return balance.value(primary_only, moment); - } - - boost::optional<balance_t> - py_value_3(const balance_t& balance, - const bool primary_only, - const boost::optional<datetime_t>& moment, - const boost::optional<commodity_t&>& in_terms_of) { - return balance.value(primary_only, moment, in_terms_of); + boost::optional<balance_t> py_value_2(const balance_t& balance, + commodity_t& in_terms_of, + datetime_t& moment) { + return balance.value(false, moment, in_terms_of); } - + boost::optional<amount_t> py_commodity_amount_0(const balance_t& balance) { return balance.commodity_amount(); @@ -200,9 +190,8 @@ void export_balance() return_internal_reference<>()) .def("value", py_value_0) - .def("value", py_value_1, args("primary_only")) - .def("value", py_value_2, args("primary_only", "moment")) - .def("value", py_value_3, args("primary_only", "moment", "in_terms_of")) + .def("value", py_value_1, args("in_terms_of")) + .def("value", py_value_2, args("in_terms_of", "moment")) .def("price", &balance_t::price) diff --git a/src/py_value.cc b/src/py_value.cc index 98f3f079..1a77da72 100644 --- a/src/py_value.cc +++ b/src/py_value.cc @@ -47,6 +47,19 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(set_string_overloads, set_string, 0, 2) namespace { + boost::optional<value_t> py_value_0(const value_t& value) { + return value.value(false, CURRENT_TIME()); + } + boost::optional<value_t> py_value_1(const value_t& value, + commodity_t& in_terms_of) { + return value.value(false, CURRENT_TIME(), in_terms_of); + } + boost::optional<value_t> py_value_2(const value_t& value, + commodity_t& in_terms_of, + datetime_t& moment) { + return value.value(false, moment, in_terms_of); + } + PyObject * py_base_type(value_t& value) { if (value.is_boolean()) { @@ -244,6 +257,10 @@ void export_value() .def("unreduced", &value_t::unreduced) .def("in_place_unreduce", &value_t::in_place_unreduce) + .def("value", py_value_0) + .def("value", py_value_1, args("in_terms_of")) + .def("value", py_value_2, args("in_terms_of", "moment")) + .def("value", &value_t::value, value_overloads()) .def("price", &value_t::price) .def("exchange_commodities", &value_t::exchange_commodities, |