You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ponymail.apache.org by hu...@apache.org on 2021/05/09 15:49:44 UTC
[incubator-ponymail-foal] branch master updated: Fix imports in the
scripts in tools
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
The following commit(s) were added to refs/heads/master by this push:
new 74b7a0a Fix imports in the scripts in tools
new bbfcfb8 Merge pull request #23 from sbp/archiver-imports
74b7a0a is described below
commit 74b7a0ae58ad444119a4444a3277c5c1c02d45b4
Author: Sean B. Palmer <se...@miscoranda.com>
AuthorDate: Sat May 8 21:59:57 2021 +0100
Fix imports in the scripts in tools
---
tools/__init__.py | 1 +
tools/archiver.py | 22 +++++++++++++---------
tools/import-mbox.py | 13 ++++++++++---
tools/migrate.py | 7 +++++--
tools/plugins/elastic.py | 4 ++--
tools/plugins/generators.py | 9 +++++----
tools/push-failures.py | 8 ++++++--
7 files changed, 42 insertions(+), 22 deletions(-)
diff --git a/tools/__init__.py b/tools/__init__.py
new file mode 100644
index 0000000..821ee2a
--- /dev/null
+++ b/tools/__init__.py
@@ -0,0 +1 @@
+from .archiver import *
diff --git a/tools/archiver.py b/tools/archiver.py
index b12a238..bf20843 100755
--- a/tools/archiver.py
+++ b/tools/archiver.py
@@ -54,19 +54,24 @@ import traceback
import typing
import uuid
+import elasticsearch
import formatflowed
import netaddr
-import plugins.ponymailconfig
-import plugins.generators
-import plugins.elastic
-import elasticsearch
+if not __package__:
+ from plugins import ponymailconfig
+ from plugins import generators
+ from plugins.elastic import Elastic
+else:
+ from .plugins import ponymailconfig
+ from .plugins import generators
+ from .plugins.elastic import Elastic
# This is what we will default to if we are presented with emails without character sets and US-ASCII doesn't work.
DEFAULT_CHARACTER_SET = 'utf-8'
# Fetch config from same dir as archiver.py
-config = plugins.ponymailconfig.PonymailConfig()
+config = ponymailconfig.PonymailConfig()
# Set some vars before we begin
logger = None
@@ -438,7 +443,7 @@ class Archiver(object): # N.B. Also used by import-mbox.py
for generator in self.generator.split(" "):
if generator:
try:
- mid = plugins.generators.generate(
+ mid = generators.generate(
generator,
msg,
generator_body,
@@ -536,7 +541,7 @@ class Archiver(object): # N.B. Also used by import-mbox.py
if args.dump:
try:
- elastic = plugins.elastic.Elastic()
+ elastic = Elastic()
except elasticsearch.exceptions.ElasticsearchException as e:
print(e)
print(
@@ -544,7 +549,7 @@ class Archiver(object): # N.B. Also used by import-mbox.py
% args.dump
)
else:
- elastic = plugins.elastic.Elastic()
+ elastic = elastic.Elastic()
try:
if contents:
@@ -568,7 +573,6 @@ class Archiver(object): # N.B. Also used by import-mbox.py
"source": mbox_source(raw_message),
},
)
-
# Write to audit log
if elastic.indices.exists(index=elastic.db_auditlog):
elastic.index(
diff --git a/tools/import-mbox.py b/tools/import-mbox.py
index dad80d8..66b7a82 100755
--- a/tools/import-mbox.py
+++ b/tools/import-mbox.py
@@ -39,8 +39,12 @@ from threading import Lock, Thread
from urllib.request import urlopen
-import archiver
-from plugins.elastic import Elastic
+if not __package__:
+ import archiver
+ from plugins.elastic import Elastic
+else:
+ from . import archiver
+ from .plugins.elastic import Elastic
goodies = 0
baddies = 0
@@ -565,7 +569,10 @@ if args.nomboxo:
else:
# Temporary patch to fix Python email package limitation
# It must be removed when the Python package is fixed
- from plugins.mboxo_patch import MboxoFactory, MboxoReader
+ if not __package__:
+ from plugins.mboxo_patch import MboxoFactory, MboxoReader
+ else:
+ from .plugins.mboxo_patch import MboxoFactory, MboxoReader
if args.resend:
resendTo = args.resend[0]
diff --git a/tools/migrate.py b/tools/migrate.py
index 5f63a43..c9448e8 100644
--- a/tools/migrate.py
+++ b/tools/migrate.py
@@ -2,7 +2,10 @@ import asyncio
from elasticsearch import AsyncElasticsearch
from elasticsearch.helpers import async_scan
from elasticsearch import helpers
-import plugins.generators
+if not __package__:
+ from plugins import generators
+else:
+ from .plugins import generators
import time
import base64
import hashlib
@@ -93,7 +96,7 @@ async def main():
else: # bytify
source_text = source_text.encode('utf-8', 'ignore')
if do_dkim:
- dkim_id = plugins.generators.dkim(None, None, list_id, None, source_text)
+ dkim_id = generators.dkim(None, None, list_id, None, source_text)
old_id = doc['_id']
doc['_source']['mid'] = dkim_id
doc['_source']['permalinks'] = [
diff --git a/tools/plugins/elastic.py b/tools/plugins/elastic.py
index f2416f3..f6b778c 100755
--- a/tools/plugins/elastic.py
+++ b/tools/plugins/elastic.py
@@ -24,7 +24,7 @@ import sys
import logging
import certifi
import os
-import plugins.ponymailconfig
+from . import ponymailconfig
try:
from elasticsearch import Elasticsearch, helpers
@@ -48,7 +48,7 @@ class Elastic:
def __init__(self, dbname=None):
# Fetch config
- config = plugins.ponymailconfig.PonymailConfig()
+ config = ponymailconfig.PonymailConfig()
# Set default names for all indices we use
self.dbname = config.get('elasticsearch', 'dbname', fallback='ponymail')
diff --git a/tools/plugins/generators.py b/tools/plugins/generators.py
index 919381c..d262133 100644
--- a/tools/plugins/generators.py
+++ b/tools/plugins/generators.py
@@ -23,7 +23,8 @@ For older ID generators, see generators_old.py
import base64
import hashlib
import typing
-import plugins.generators_old
+
+from . import generators_old
# For optional nonce
config: typing.Optional[dict] = None
@@ -177,9 +178,9 @@ def full(msg, _body, lid, _attachments, _raw_msg):
__GENERATORS = {
'dkim': dkim,
'full': full,
- 'medium': plugins.generators_old.medium,
- 'cluster': plugins.generators_old.cluster,
- 'legacy': plugins.generators_old.legacy,
+ 'medium': generators_old.medium,
+ 'cluster': generators_old.cluster,
+ 'legacy': generators_old.legacy,
}
diff --git a/tools/push-failures.py b/tools/push-failures.py
index 3c15930..910e45f 100755
--- a/tools/push-failures.py
+++ b/tools/push-failures.py
@@ -21,9 +21,13 @@
import argparse
import json
import os
-import plugins.elastic
-elastic = plugins.elastic.Elastic()
+if not __package__:
+ from plugins.elastic import Elastic
+else:
+ from .plugins.elastic import Elastic
+
+elastic = Elastic()
parser = argparse.ArgumentParser(description="Command line options.")
parser.add_argument(