Browse Source

simpler but working - boost::python has its quirks

PYADPT-55
Volker Birk 9 years ago
parent
commit
039354d7ad
  1. 27
      src/message.cc
  2. 5
      src/message.hh
  3. 8
      src/pEpmodule.cc

27
src/message.cc

@ -288,31 +288,16 @@ namespace pEp {
_msg->attachments = bl;
}
static const vector< string > enc_format_s
= { "none", "partitioned", "S/MIME", "PGP/MIME", "pEp" };
static string _enc_format(int n)
Message Message::encrypt()
{
return enc_format_s[n % enc_format_s.size()];
list extra;
return encrypt_message(*this, extra, 4, 0);
}
static int _enc_format(string s)
Message Message::_encrypt(list extra, int enc_format, int flags)
{
if (s == "p≡p")
return 4;
int i=0;
for (auto _s=enc_format_s.begin(); _s != enc_format_s.end(); _s++, i++) {
if (*_s == s)
return i;
}
return -1;
}
Message Message::encrypt(list extra, string enc_format, int flags) {
return encrypt_message(*this, extra, _enc_format(enc_format), flags);
}
Message Message::_encrypt(list extra, int enc_format, int flags) {
if (!enc_format)
enc_format = 4;
return encrypt_message(*this, extra, enc_format, flags);
}

5
src/message.hh

@ -123,8 +123,9 @@ namespace pEp {
PEP_enc_format enc_format() { return _msg->enc_format; }
void enc_format(PEP_enc_format value) { _msg->enc_format = value; }
Message encrypt(list extra=list(), string enc_format="", int flags=0);
Message _encrypt(list extra=list(), int enc_format=4, int flags=0);
Message encrypt();
Message _encrypt(list extra, int enc_format=4, int flags=0);
boost::python::tuple decrypt();
int outgoing_rating();
int outgoing_color();

8
src/pEpmodule.cc

@ -235,9 +235,7 @@ BOOST_PYTHON_MODULE(pEp)
(void(Message::*)(PEP_enc_format)) &Message::enc_format,
"0: unencrypted, 1: inline PGP, 2: S/MIME, 3: PGP/MIME, 4: p≡p format")
.def("encrypt", (Message(Message::*)())&Message::encrypt)
.def("encrypt", (Message(Message::*)(list))&Message::encrypt)
.def("encrypt", (Message(Message::*)(list,string))&Message::encrypt)
.def("encrypt", (Message(Message::*)(list,string,int))&Message::encrypt)
.def("encrypt", (Message(Message::*)(list))&Message::_encrypt)
.def("encrypt", (Message(Message::*)(list,int))&Message::_encrypt)
.def("encrypt", (Message(Message::*)(list,int,int))&Message::_encrypt,
"msg2 = msg1.encrypt(extra_keys=[], enc_format='pEp', flags=0)\n"
@ -246,8 +244,8 @@ BOOST_PYTHON_MODULE(pEp)
"\n"
" extra_keys list of strings with fingerprints for extra keys to use\n"
" for encryption\n"
" enc_format 'none' or 0, 'partitioned' or 1, 'S/MIME' or 2,\n"
" 'PGP/MIME' or 3, 'pEp' or 4\n"
" enc_format 0 for none, 1 for partitioned, 2 for S/MIME,\n"
" 3 for PGP/MIME, 4 for pEp\n"
" flags 1 is force encryption\n"
)
.def("decrypt", &Message::decrypt,

Loading…
Cancel
Save