summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2012-03-29 15:56:05 -0500
committerJohn Wiegley <johnw@newartisans.com>2012-03-29 15:56:05 -0500
commit7422fa5f3e2505dfa8f5494e4ce9e987440a57a1 (patch)
treec655ffd469f240c70393aae25d7af98b362e588b /src
parent08f65eeadc288ecde4b8fb281e477958c8ae7cd5 (diff)
downloadfork-ledger-7422fa5f3e2505dfa8f5494e4ce9e987440a57a1.tar.gz
fork-ledger-7422fa5f3e2505dfa8f5494e4ce9e987440a57a1.tar.bz2
fork-ledger-7422fa5f3e2505dfa8f5494e4ce9e987440a57a1.zip
Allow post.cost to work in Python
Diffstat (limited to 'src')
-rw-r--r--src/py_commodity.cc18
-rw-r--r--src/py_item.cc18
-rw-r--r--src/py_post.cc12
3 files changed, 32 insertions, 16 deletions
diff --git a/src/py_commodity.cc b/src/py_commodity.cc
index c75b5e64..b283efcc 100644
--- a/src/py_commodity.cc
+++ b/src/py_commodity.cc
@@ -258,8 +258,10 @@ void export_commodity()
make_getter(&commodity_pool_t::keep_base),
make_setter(&commodity_pool_t::keep_base))
.add_property("price_db",
- make_getter(&commodity_pool_t::price_db),
- make_setter(&commodity_pool_t::price_db))
+ make_getter(&commodity_pool_t::price_db,
+ return_value_policy<return_by_value>()),
+ make_setter(&commodity_pool_t::price_db,
+ return_value_policy<return_by_value>()))
.add_property("quote_leeway",
make_getter(&commodity_pool_t::quote_leeway),
make_setter(&commodity_pool_t::quote_leeway))
@@ -390,11 +392,15 @@ void export_commodity()
.add_property("price", py_price, py_set_price)
.add_property("date",
- make_getter(&annotation_t::date),
- make_setter(&annotation_t::date))
+ make_getter(&annotation_t::date,
+ return_value_policy<return_by_value>()),
+ make_setter(&annotation_t::date,
+ return_value_policy<return_by_value>()))
.add_property("tag",
- make_getter(&annotation_t::tag),
- make_setter(&annotation_t::tag))
+ make_getter(&annotation_t::tag,
+ return_value_policy<return_by_value>()),
+ make_setter(&annotation_t::tag,
+ return_value_policy<return_by_value>()))
.def("__nonzero__", &annotation_t::operator bool)
diff --git a/src/py_item.cc b/src/py_item.cc
index e3e49457..893ddcfa 100644
--- a/src/py_item.cc
+++ b/src/py_item.cc
@@ -120,14 +120,20 @@ void export_item()
#endif
.add_property("note",
- make_getter(&item_t::note),
- make_setter(&item_t::note))
+ make_getter(&item_t::note,
+ return_value_policy<return_by_value>()),
+ make_setter(&item_t::note,
+ return_value_policy<return_by_value>()))
.add_property("pos",
- make_getter(&item_t::pos),
- make_setter(&item_t::pos))
+ make_getter(&item_t::pos,
+ return_value_policy<return_by_value>()),
+ make_setter(&item_t::pos,
+ return_value_policy<return_by_value>()))
.add_property("metadata",
- make_getter(&item_t::metadata),
- make_setter(&item_t::metadata))
+ make_getter(&item_t::metadata,
+ return_value_policy<return_by_value>()),
+ make_setter(&item_t::metadata,
+ return_value_policy<return_by_value>()))
.def("copy_details", &item_t::copy_details)
diff --git a/src/py_post.cc b/src/py_post.cc
index 2789082e..ce3bd71b 100644
--- a/src/py_post.cc
+++ b/src/py_post.cc
@@ -149,11 +149,15 @@ void export_post()
make_getter(&post_t::amount),
make_setter(&post_t::amount))
.add_property("cost",
- make_getter(&post_t::cost),
- make_setter(&post_t::cost))
+ make_getter(&post_t::cost,
+ return_value_policy<return_by_value>()),
+ make_setter(&post_t::cost,
+ return_value_policy<return_by_value>()))
.add_property("assigned_amount",
- make_getter(&post_t::assigned_amount),
- make_setter(&post_t::assigned_amount))
+ make_getter(&post_t::assigned_amount,
+ return_value_policy<return_by_value>()),
+ make_setter(&post_t::assigned_amount,
+ return_value_policy<return_by_value>()))
.def("has_tag", py_has_tag_1s)
.def("has_tag", py_has_tag_1m)