You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ponymail.apache.org by se...@apache.org on 2019/08/12 14:18:47 UTC
[incubator-ponymail] branch master updated: Enh: move generator
selection to generator.py
This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail.git
The following commit(s) were added to refs/heads/master by this push:
new a00f698 Enh: move generator selection to generator.py
a00f698 is described below
commit a00f698db59d1bb6dfc183e7127bd96f332e79be
Author: Sebb <se...@apache.org>
AuthorDate: Mon Aug 12 15:18:36 2019 +0100
Enh: move generator selection to generator.py
This fixes #504
---
CHANGELOG.md | 1 +
tools/archiver.py | 9 +--------
tools/generators.py | 17 +++++++++++++++++
3 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c529eb9..9b32835 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,5 @@
## Changes in 0.12:
+- Enh: move generator selection to generator.py (#504)
- Bug: Bug: parser fails to extract inline attachments (#501)
- Bug: Google OAuth used with wrong response_type (#500)
- Bug: Composer uses wrong format in FROM/From headers (#496)
diff --git a/tools/archiver.py b/tools/archiver.py
index aed1d0f..d965b71 100755
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -344,14 +344,7 @@ class Archiver(object): # N.B. Also used by import-mbox.py
if body is not None or attachments:
pmid = mid
try:
- if archiver_generator == "full":
- mid = generators.full(msg, body, lid, attachments)
- elif archiver_generator == "medium":
- mid = generators.medium(msg, body, lid, attachments)
- elif archiver_generator == "cluster":
- mid = generators.cluster(msg, body, lid, attachments)
- else:
- mid = generators.legacy(msg, body, lid, attachments)
+ mid = generators.generate(archiver_generator, msg, body, lid, attachments)
except Exception as err:
if logger:
logger.warning("Could not generate MID: %s", err)
diff --git a/tools/generators.py b/tools/generators.py
index ab090d6..d561dfe 100644
--- a/tools/generators.py
+++ b/tools/generators.py
@@ -191,3 +191,20 @@ def legacy(msg, body, lid, _attachments):
pass
mid = "%s@%s@%s" % (hashlib.sha224(body if type(body) is bytes else body.encode('ascii', 'ignore')).hexdigest(), uid_mdate, lid)
return mid
+
+__GENERATORS={
+ 'full': full,
+ 'medium': medium,
+ 'cluster': cluster,
+ 'legacy': legacy,
+}
+
+def generator(name):
+ try:
+ return __GENERATORS[name]
+ except:
+ print("WARN: generator %s not found, defaulting to 'legacy'" % name)
+ return legacy
+
+def generate(name, msg, body, lid, attachments):
+ return generator(name)(msg, body, lid, attachments)