Browse Source

adding decode() method

PYADPT-55
Volker Birk 9 years ago
parent
commit
4da84cfdd5
  1. 13
      src/message.cc
  2. 2
      src/message.hh
  3. 2
      src/pEpmodule.cc

13
src/message.cc

@ -106,6 +106,19 @@ namespace pEp {
return PyBuffer_FillInfo(view, self, bl->value, bl->size, 0, flags);
}
string Message::Blob::decode(string encoding)
{
if (encoding == "") {
if (string(_bl->mime_type) == "application/pEp")
encoding = "sync";
else
encoding = "ascii";
}
object codecs = import("codecs");
object _decode = codecs.attr("decode");
return call< string >(_decode.ptr(), this, encoding);
}
PyBufferProcs Message::Blob::bp = { getbuffer, NULL };
Message::Message(PEP_msg_direction dir, Identity *from)

2
src/message.hh

@ -41,6 +41,8 @@ namespace pEp {
void filename(string value) { str_attr(_bl->filename, value); }
size_t size() { return _bl->size; }
string decode(string encoding);
string decode() { return decode(""); }
static PyBufferProcs bp;

2
src/pEpmodule.cc

@ -106,6 +106,8 @@ BOOST_PYTHON_MODULE(pEp)
.def(init<object>())
.def("__repr__", &Message::Blob::_repr)
.def("__len__", &Message::Blob::size, "size of Blob data in bytes")
.def("decode", (string(Message::Blob::*)(string)) &Message::Blob::decode, "decode Blob data into string")
.def("decode", (string(Message::Blob::*)()) &Message::Blob::decode, "decode Blob data into string")
.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")

Loading…
Cancel
Save