diff options
-rw-r--r-- | src/item.cc | 7 | ||||
-rw-r--r-- | src/item.h | 13 | ||||
-rw-r--r-- | src/py_post.cc | 3 | ||||
-rw-r--r-- | src/py_xact.cc | 5 |
4 files changed, 21 insertions, 7 deletions
diff --git a/src/item.cc b/src/item.cc index a1b9b6bb..d123ee5a 100644 --- a/src/item.cc +++ b/src/item.cc @@ -338,13 +338,10 @@ namespace { } value_t get_seq(item_t& item) { - return item.pos ? long(item.pos->sequence) : 0L; + return long(item.seq()); } value_t get_id(item_t& item) { - if (optional<value_t> ref = item.get_tag(_("UUID"))) - return *ref; - else - return item.pos ? long(item.pos->sequence) : 0L; + return string_value(item.id()); } value_t get_addr(item_t& item) { @@ -151,6 +151,19 @@ public: return ! (*this == xact); } + string id() const { + if (optional<value_t> ref = get_tag(_("UUID"))) { + return ref->to_string(); + } else { + std::ostringstream buf; + buf << seq(); + return buf.str(); + } + } + std::size_t seq() const { + return pos ? pos->sequence : 0L; + } + virtual bool has_tag(const string& tag, bool inherit = true) const; virtual bool has_tag(const mask_t& tag_mask, diff --git a/src/py_post.cc b/src/py_post.cc index 1c187ff1..cace419f 100644 --- a/src/py_post.cc +++ b/src/py_post.cc @@ -132,6 +132,9 @@ void export_post() class_< post_t, bases<item_t> > ("Posting") //.def(init<account_t *>()) + .def("id", &post_t::id) + .def("seq", &post_t::seq) + .add_property("xact", make_getter(&post_t::xact, return_internal_reference<>()), diff --git a/src/py_xact.cc b/src/py_xact.cc index 604d8d59..af1fcdd5 100644 --- a/src/py_xact.cc +++ b/src/py_xact.cc @@ -107,6 +107,9 @@ void export_xact() ; class_< xact_t, bases<xact_base_t> > ("Transaction") + .def("id", &xact_t::id) + .def("seq", &xact_t::seq) + .add_property("code", make_getter(&xact_t::code), make_setter(&xact_t::code)) @@ -117,8 +120,6 @@ void export_xact() .def("add_post", &xact_t::add_post, with_custodian_and_ward<1, 2>()) .def("magnitude", &xact_t::magnitude) - .def("idstring", &xact_t::idstring) - .def("id", &xact_t::id) .def("lookup", &xact_t::lookup) |