Add replies from reblogs and use jinja2 template for sender and recipient
This commit is contained in:
parent
ca0a09c7ba
commit
962c12f6b0
1 changed files with 15 additions and 2 deletions
|
@ -129,12 +129,19 @@ class MastodonEmailBridge:
|
||||||
)
|
)
|
||||||
return url
|
return url
|
||||||
for data in result.json():
|
for data in result.json():
|
||||||
|
data['meb_reply_to'] = []
|
||||||
if data['in_reply_to_id']:
|
if data['in_reply_to_id']:
|
||||||
self._log.debug(
|
self._log.debug(
|
||||||
"This post is a reply to '%s', fetching it",
|
"This post is a reply to '%s', fetching it",
|
||||||
data['in_reply_to_id']
|
data['in_reply_to_id']
|
||||||
)
|
)
|
||||||
data['meb_reply_to'] = self.get_post(data['in_reply_to_id'])
|
data['meb_reply_to'].append(self.get_post(data['in_reply_to_id']))
|
||||||
|
if data['reblog'] and data['reblog']['in_reply_to_id']:
|
||||||
|
self._log.debug(
|
||||||
|
"This post is a reblog of a reply to '%s', fetching it",
|
||||||
|
data['reblog']['in_reply_to_id']
|
||||||
|
)
|
||||||
|
data['meb_reply_to'].append(self.get_post(data['reblog']['in_reply_to_id']))
|
||||||
if int(data['id']) not in self.sent_items:
|
if int(data['id']) not in self.sent_items:
|
||||||
self.send_mail(data)
|
self.send_mail(data)
|
||||||
else:
|
else:
|
||||||
|
@ -200,7 +207,9 @@ class MastodonEmailBridge:
|
||||||
if self.config['mail_user'] is not None:
|
if self.config['mail_user'] is not None:
|
||||||
conn.login(self.config['mail_user'], self.config['mail_pass'])
|
conn.login(self.config['mail_user'], self.config['mail_pass'])
|
||||||
self._log.debug("Sending email for post with id '%s'...", data['id'])
|
self._log.debug("Sending email for post with id '%s'...", data['id'])
|
||||||
conn.sendmail(self.config['sender'], self.config['recipient'], msg.as_string())
|
sender = self._str_replace_template(self.config['sender'], data)
|
||||||
|
recipient = self._str_replace_template(self.config['recipient'], data)
|
||||||
|
conn.sendmail(sender, recipient, msg.as_string())
|
||||||
conn.quit()
|
conn.quit()
|
||||||
self._log.debug("Adding entry to database...")
|
self._log.debug("Adding entry to database...")
|
||||||
cur = self.sqlite.cursor()
|
cur = self.sqlite.cursor()
|
||||||
|
@ -209,6 +218,10 @@ class MastodonEmailBridge:
|
||||||
self.sent_items.append(data['id'])
|
self.sent_items.append(data['id'])
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _str_replace_template(self, template_string, data):
|
||||||
|
template = self.j2env.from_string(template_string)
|
||||||
|
return template.render(data=data)
|
||||||
|
|
||||||
def _init_log(self):
|
def _init_log(self):
|
||||||
''' Initialize log object '''
|
''' Initialize log object '''
|
||||||
self._log = logging.getLogger("mastodon_email_bridge")
|
self._log = logging.getLogger("mastodon_email_bridge")
|
||||||
|
|
Loading…
Reference in a new issue