This is an automated email from the ASF dual-hosted git repository. humbedooh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
commit 32c7cf841a0587e6f9c53e2ead11b4f34e4bb83c Author: Daniel Gruno <[email protected]> AuthorDate: Thu Sep 10 17:00:00 2020 +0200 trim away the _* fields from what we return in the UI We don't need the meta fields for UI operations. --- server/plugins/mbox.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/server/plugins/mbox.py b/server/plugins/mbox.py index 338d82f..87f6fdb 100644 --- a/server/plugins/mbox.py +++ b/server/plugins/mbox.py @@ -42,6 +42,13 @@ PYPONY_RE_PREFIX = re.compile(r"^([a-zA-Z]+:\s*)+") mbox_cache_privacy: typing.Dict[str, bool] = {} +def trim_email(doc): + """Trims away document fields not used by the UI""" + for header in doc.keys(): + if header.startswith('_'): + del doc[header] + + def extract_name(addr): """ Extract name and email from from: header """ m = re.match(r"^([^<]+)\s*<(.+)>$", addr) @@ -196,6 +203,7 @@ async def get_email( if doc and plugins.aaa.can_access_email(session, doc): if not session.credentials: doc = anonymize(doc) + trim_email(doc) return doc # multi-doc return? @@ -207,6 +215,7 @@ async def get_email( if doc and plugins.aaa.can_access_email(session, doc): if not session.credentials: doc = anonymize(doc) + trim_email(doc) docs_returned.append(doc) return docs_returned # no doc? @@ -289,6 +298,7 @@ async def query( doc = anonymize(doc) if shorten: doc["body"] = (doc["body"] or "")[:200] + trim_email(doc) docs.append(doc) hits += 1 if hits > query_limit:
