[email] Add MDA script to setup.py

This commit is contained in:
maike 2020-07-05 23:42:07 +02:00 committed by dl6tom
parent a9c9f4f1c0
commit e24a0f8738
2 changed files with 30 additions and 29 deletions

View file

@ -10,18 +10,18 @@ from logging import getLogger
from kibicara.platforms.email.model import Email from kibicara.platforms.email.model import Email
logger = getLogger(__name__) def main():
logger = getLogger(__name__)
# read mail from STDIN
mailbytes = bytes(sys.stdin.read())
# read mail from STDIN # parse plaintext to email.EmailMessage object
mailbytes = bytes(sys.stdin.read()) myparser = email.parser.BytesParser()
mail = myparser.parsebytes(mailbytes)
# parse plaintext to email.EmailMessage object # extract relevant data from mail
myparser = email.parser.BytesParser() for part in mail.walk():
mail = myparser.parsebytes(mailbytes)
# extract relevant data from mail
for part in mail.walk():
try: try:
text = part.get_body(('plain',)) text = part.get_body(('plain',))
if not text: if not text:
@ -32,15 +32,15 @@ for part in mail.walk():
except Exception: except Exception:
logger.info("No Body in this message part", exc_info=True) logger.info("No Body in this message part", exc_info=True)
exit(0) exit(0)
body = { body = {
'text': text, 'text': text,
'to': mail['To'].lower(), 'to': mail['To'].lower(),
'author': mail['From'].lower(), 'author': mail['From'].lower(),
'secret': Email.secret 'secret': Email.secret
} }
# POST request mit API-key und JSON-body an /api/email/messages/: # POST request mit API-key und JSON-body an /api/email/messages/:
print("curl " print("curl "
"-X POST http://localhost/api/email/messages/ " "-X POST http://localhost/api/email/messages/ "
"-H 'Content-Type: application/json' " "-H 'Content-Type: application/json' "
"-d " + json.dumps(body)) "-d " + json.dumps(body))

View file

@ -10,6 +10,7 @@ setup(
entry_points={ entry_points={
'console_scripts': [ 'console_scripts': [
'kibicara=kibicara.kibicara:Main', 'kibicara=kibicara.kibicara:Main',
'kibicara_mda=kibicara.kibicara_mda:main',
] ]
}, },
install_requires=[ install_requires=[