From 7a844a96fe9ea5e73f3daa81eef5ebc67e528cfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= <hugo@lysator.liu.se> Date: Fri, 18 Sep 2020 00:02:48 +0200 Subject: [PATCH] Got it working! --- main.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index ad1dea1..52ae2aa 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,7 @@ from email import message_from_bytes import email.policy from dateutil.parser import parse import subprocess +import re class CustomSMTPServer(smtpd.SMTPServer): def process_message(self, peer, mailfrom, rcpttos, data, **kwargs): @@ -11,16 +12,25 @@ class CustomSMTPServer(smtpd.SMTPServer): body = msg.get_content() d = parse(msg.get('Date')) title = msg.get('Subject') - subprocess.run('wp', 'post', 'create', - '--post_author', 1, - '--post_date', f'{d:%Y-%m-%d}', - '--post_title', title, - '--post_publish', 'publish', - '--post_category', 'Veckomail', - '--post_content', f'<pre>{body}</pre>') + + if not title: + print("Title missing") + return + + title = re.sub('^\[.*\] *', '', title) + + subprocess.run(['wp', 'post', 'create', + '--post_author=2' + f'--post_date={d:%Y-%m-%d}', + f"--post_title={title}", + '--post_status=publish', + '--post_category=Veckomail', + f"--post_content=<pre>{body}</pre>"], + cwd='/usr/share/wordpress', + shell=False) return -server = CustomSMTPServer(('localhost', 1025), None, +server = CustomSMTPServer(('0.0.0.0', 1025), None, decode_data=False) asyncore.loop() -- GitLab