yeet pystache

This commit is contained in:
Drew DeVault 2021-06-24 10:39:35 -04:00
parent 3fef58826b
commit ad84d50ef6
7 changed files with 55 additions and 65 deletions

View File

@ -1,4 +1,3 @@
Hi {{your_name}}!
Hi $your_name!
Unfortunately, {{user.email}} has chosen to cancel their monthly donation of
{{amount}}.
Unfortunately, $email has chosen to cancel their monthly donation of $amount.

View File

@ -1,12 +1,12 @@
An attempt was just made to charge your card for your monthly donation to
{{your_name}} for {{amount}}. Unfortunately, your card was declined.
$your_name for $amount. Unfortunately, your card was declined.
The donation has been disabled. If you would like to, you may create a new
recurring donation here:
{{root}}
$root
Thanks!
--
{{your_name}}
$your_name

View File

@ -1,5 +1,5 @@
Hi {{your_name}}!
Hi $your_name!
Good news: {{user.email}} just donated {{amount}}{{frequency}}!
Good news: $email just donated $amount$frequency!
{{comment}}
$comment

View File

@ -2,12 +2,12 @@ Someone, probably you, wants to reset your donor password.
To proceed, click this link:
{{root}}/password-reset/{{user.password_reset}}
$root/password-reset/$password_reset
This link expires in 24 hours. If you don't want to change your password or you
weren't expecting this email, just ignore it.
If you have questions, send an email to {{your_email}}.
If you have questions, send an email to $your_email.
--
{{your_name}}
$your_name

View File

@ -2,18 +2,13 @@ Thank you for donating!
Receipt:
{{#monthly}}
Monthly donation {{amount}}
{{/monthly}}
{{^monthly}}
One-time donation {{amount}}
{{/monthly}}
$summary $amount
You can view and manage your donations online here:
{{root}}/panel
$root/panel
Thanks again! If you have questions, contact {{your_email}}.
Thanks again! If you have questions, contact $your_email.
--
{{your_name}}
$your_name

View File

@ -1,11 +1,11 @@
import smtplib
import pystache
import os
import html.parser
from email.mime.text import MIMEText
from email.utils import localtime, format_datetime
from werkzeug.utils import secure_filename
from flask import url_for
from string import Template
from fosspay.database import db
from fosspay.objects import User, DonationType
@ -20,15 +20,14 @@ def send_thank_you(user, amount, monthly):
smtp.starttls()
smtp.login(_cfg("smtp-user"), _cfg("smtp-password"))
with open("emails/thank-you") as f:
message = MIMEText(html.parser.HTMLParser().unescape(\
pystache.render(f.read(), {
"user": user,
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"amount": currency.amount("{:.2f}".format(amount / 100)),
"monthly": monthly,
"your_email": _cfg("your-email")
})))
tmpl = Template(f.read())
message = MIMEText(tmpl.substitute(**{
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"summary": ("Monthly donation" if monthly else "One-time donation"),
"amount": currency.amount("{:.2f}".format(amount / 100)),
"your_email": _cfg("your-email")
}))
message['Subject'] = "Thank you for your donation!"
message['From'] = _cfg("smtp-from")
message['To'] = user.email
@ -44,13 +43,13 @@ def send_password_reset(user):
smtp.starttls()
smtp.login(_cfg("smtp-user"), _cfg("smtp-password"))
with open("emails/reset-password") as f:
message = MIMEText(html.parser.HTMLParser().unescape(\
pystache.render(f.read(), {
"user": user,
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"your_email": _cfg("your-email")
})))
tmpl = Template(f.read())
message = MIMEText(tmpl.substitute(**{
"password_reset": user.password_reset,
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"your_email": _cfg("your-email")
}))
message['Subject'] = "Reset your donor password"
message['From'] = _cfg("smtp-from")
message['To'] = user.email
@ -66,13 +65,12 @@ def send_declined(user, amount):
smtp.starttls()
smtp.login(_cfg("smtp-user"), _cfg("smtp-password"))
with open("emails/declined") as f:
message = MIMEText(html.parser.HTMLParser().unescape(\
pystache.render(f.read(), {
"user": user,
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"amount": currency.amount("{:.2f}".format(amount / 100))
})))
tmpl = Template(f.read())
message = MIMEText(tmpl.substitute(**{
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"amount": currency.amount("{:.2f}".format(amount / 100))
}))
message['Subject'] = "Your monthly donation was declined."
message['From'] = _cfg("smtp-from")
message['To'] = user.email
@ -88,17 +86,16 @@ def send_new_donation(user, donation):
smtp.starttls()
smtp.login(_cfg("smtp-user"), _cfg("smtp-password"))
with open("emails/new_donation") as f:
message = MIMEText(html.parser.HTMLParser().unescape(\
pystache.render(f.read(), {
"user": user,
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"amount": currency.amount("{:.2f}".format(
donation.amount / 100)),
"frequency": (" per month"
if donation.type == DonationType.monthly else ""),
"comment": donation.comment or "",
})))
tmpl = Template(f.read())
message = MIMEText(tmpl.substitute(**{
"email": user.email,
"your_name": _cfg("your-name"),
"amount": currency.amount("{:.2f}".format(
donation.amount / 100)),
"frequency": (" per month"
if donation.type == DonationType.monthly else ""),
"comment": donation.comment or "",
}))
message['Subject'] = "New donation on fosspay!"
message['From'] = _cfg("smtp-from")
message['To'] = f"{_cfg('your-name')} <{_cfg('your-email')}>"
@ -114,14 +111,14 @@ def send_cancellation_notice(user, donation):
smtp.starttls()
smtp.login(_cfg("smtp-user"), _cfg("smtp-password"))
with open("emails/cancelled") as f:
message = MIMEText(html.parser.HTMLParser().unescape(\
pystache.render(f.read(), {
"user": user,
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"amount": currency.amount("{:.2f}".format(
donation.amount / 100)),
})))
tmpl = Template(f.read())
message = MIMEText(tmpl.substitute(**{
"email": user.email,
"root": _cfg("protocol") + "://" + _cfg("domain"),
"your_name": _cfg("your-name"),
"amount": currency.amount("{:.2f}".format(
donation.amount / 100)),
}))
message['Subject'] = "A monthly donation on fosspay has been cancelled"
message['From'] = _cfg("smtp-from")
message['To'] = f"{_cfg('your-name')} <{_cfg('your-email')}>"

View File

@ -7,4 +7,3 @@ psycopg2
bcrypt
gunicorn
sqlalchemy-utils
pystache