From b46c26f1f8dc82336797049b631ebc75fcc8e3d5 Mon Sep 17 00:00:00 2001 From: Luca Saiu Date: Wed, 21 Jun 2023 00:47:25 +0200 Subject: [PATCH 1/2] Message: add set_opt_field and remove_opt_field, making opt fields modifiable from Python Also update DEPENDENCIES to use a new Engine RC with the new (trivial) API functions. --- DEPENDENCIES | 2 +- src/pEp/_pEp/message.cc | 14 ++++++++++++++ src/pEp/_pEp/message.hh | 3 +++ src/pEp/_pEp/pEpmodule.cc | 16 ++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 3d11631..a7d0407 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -1,6 +1,6 @@ # 1st Party Dependencies ## Prefer git tags instead of SHA hashes when possible. -pEpEngine=v3.2.0-RC27 +pEpEngine=v3.3.0-RC7 libpEpAdapter= v3.2.0-RC5 libpEpCxx=v3.2.0-RC1 diff --git a/src/pEp/_pEp/message.cc b/src/pEp/_pEp/message.cc index 7169314..2eea22d 100644 --- a/src/pEp/_pEp/message.cc +++ b/src/pEp/_pEp/message.cc @@ -300,6 +300,20 @@ namespace pEp { _msg->attachments = bl; } + void Message::remove_opt_field(string name) + { + ::message *msg_c = _msg.get(); + PEP_STATUS status = ::message_remove_opt_field(Adapter::session(), msg_c, name.c_str()); + _throw_status(status); + } + + void Message::set_opt_field(string name, string value) + { + ::message *msg_c = _msg.get(); + PEP_STATUS status = ::message_set_opt_field(Adapter::session(), msg_c, name.c_str(), value.c_str()); + _throw_status(status); + } + Message Message::encrypt() { boost::python::list extra; diff --git a/src/pEp/_pEp/message.hh b/src/pEp/_pEp/message.hh index eba8863..8f359fb 100644 --- a/src/pEp/_pEp/message.hh +++ b/src/pEp/_pEp/message.hh @@ -300,6 +300,9 @@ namespace pEp { _msg->enc_format = value; } + void remove_opt_field(string name); + void set_opt_field(string name, string value); + Message encrypt(); Message _encrypt(boost::python::list extra, int enc_format = 4, int flags = 0); diff --git a/src/pEp/_pEp/pEpmodule.cc b/src/pEp/_pEp/pEpmodule.cc index 983c92b..a9e9376 100644 --- a/src/pEp/_pEp/pEpmodule.cc +++ b/src/pEp/_pEp/pEpmodule.cc @@ -535,6 +535,22 @@ namespace pEp { (void(Message::*)(int))(void(Message::*)(PEP_enc_format)) & Message::enc_format, "0: unencrypted, 1: inline PGP, 2: S/MIME, 3: PGP/MIME, 4: p≡p format") + .def("remove_opt_field", &Message::remove_opt_field, + "msg.remove_opt_field(name)\n" + "\n" + "alters msg removing an opt_field with the given name, if present.\n" + "\n" + " msg a message\n" + " name the field name as a string\n") + .def("set_opt_field", &Message::set_opt_field, + "msg.set_opt_field(name, value)\n" + "\n" + "alters msg replacing an opt_field, or adding it, if the same field\n" + "was not present before.\n" + "\n" + " msg a message\n" + " name the field name as a string\n" + " value the new field value as a string\n") .def("encrypt", (Message(Message::*)()) & Message::encrypt) .def( "encrypt", From cc2a52632bb3a30af35bfdff6dc9e3cbd8941578 Mon Sep 17 00:00:00 2001 From: Luca Saiu Date: Wed, 21 Jun 2023 00:18:21 +0200 Subject: [PATCH 2/2] WIP comment out annoying output; I have to speak to Heck to agree on a clean solution --- src/pEp/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pEp/__init__.py b/src/pEp/__init__.py index 76416a0..b4fa69d 100755 --- a/src/pEp/__init__.py +++ b/src/pEp/__init__.py @@ -46,13 +46,14 @@ def init(): try: if environ[env_var_log_adapter_enabled] == "0": log_adapter_enabled = False - _pEp._log("env var {} set to 0".format(env_var_log_adapter_enabled)) + # _pEp._log("env var {} set to 0".format(env_var_log_adapter_enabled)) elif environ[env_var_log_adapter_enabled] == "1": log_adapter_enabled = True else: _pEp._log("env var {}: valid values are 1 or 0".format(env_var_log_adapter_enabled)) except: - _pEp._log("env var {} not set. Defaulting to {}".format(env_var_log_adapter_enabled, log_adapter_enabled)) + # _pEp._log("env var {} not set. Defaulting to {}".format(env_var_log_adapter_enabled, log_adapter_enabled)) + pass _pEp.set_debug_log_enabled(log_adapter_enabled)