From 6bea4ace3445a4d544414fefac9db174de22017a Mon Sep 17 00:00:00 2001 From: Volker Birk Date: Sat, 3 Sep 2016 10:31:35 +0200 Subject: [PATCH] len() support instead of .size --- src/pEpmodule.cc | 4 ++-- test/sync_test.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/pEpmodule.cc b/src/pEpmodule.cc index 631d574..8e8e125 100644 --- a/src/pEpmodule.cc +++ b/src/pEpmodule.cc @@ -105,13 +105,13 @@ BOOST_PYTHON_MODULE(pEp) .def(init()) .def(init()) .def("__repr__", &Message::Blob::_repr) + .def("__len__", &Message::Blob::size, "size of Blob in bytes") .add_property("mime_type", (string(Message::Blob::*)()) &Message::Blob::mime_type, (void(Message::Blob::*)(string)) &Message::Blob::mime_type, "MIME type of object in Blob") .add_property("filename", (string(Message::Blob::*)()) &Message::Blob::filename, (void(Message::Blob::*)(string)) &Message::Blob::filename, - "filename of object in Blob") - .add_property("size", &Message::Blob::size, "size of Blob in bytes"); + "filename of object in Blob"); ((PyTypeObject *)(void *)blob_class.ptr())->tp_as_buffer = &Message::Blob::bp; diff --git a/test/sync_test.py b/test/sync_test.py index 7f71a50..dea2d53 100644 --- a/test/sync_test.py +++ b/test/sync_test.py @@ -1,3 +1,4 @@ +import codecs from pEp import * _msg = [] @@ -26,5 +27,21 @@ def process(path): return Message(text) +def sync_search(name): + def _sync_decode(input, errors='strict'): + return sync_decode(input), 0 + + def _sync_encode(input, errors='strict'): + return sync_encode(input), 0 + + if name != "sync": + return None + else: + return codecs.CodecInfo(_sync_encode, _sync_decode) + + +codecs.register(sync_search) + + # this is an interactive test, so start it with python -i