Private
Public Access
1
0

added breakthrough notification

This commit is contained in:
Sander Roosendaal
2018-03-19 14:47:40 +01:00
parent 5afb2477cf
commit b744eff7f6
3 changed files with 98 additions and 40 deletions

View File

@@ -311,55 +311,43 @@ def handle_sendemail_breakthrough(workoutid, useremail,
btvalues=pd.DataFrame().to_json(),
**kwargs):
if 'debug' in kwargs:
debug = kwargs['debug']
else:
debug = False
siteurl = SITE_URL
if debug:
siteurl = SITE_URL_DEV
# send email with attachment
subject = "A breakthrough workout on rowsandall.com"
message = "Dear " + userfirstname + ",\n"
message += "Congratulations! Your recent workout has been analyzed"
message += " by Rowsandall.com and it appears your fitness,"
message += " as measured by Critical Power, has improved!"
message += " Critical Power (CP) is the power that you can "
message += "sustain for a given duration. For more, see this "
message += " article in the analytics blog:\n\n"
message += " http://analytics.rowsandall.com/2017/06/17/how-do-we-calculate-critical-power/ \n\n"
message += "Link to the workout "+siteurl+"/rowers/workout/"
message += str(workoutid)
message += "/edit\n\n"
message += "To add the workout to your Ranking workouts and see the updated CP plot, click the following link:\n"
message += siteurl+"/rowers/workout/"
message += str(workoutid)
message += "/updatecp\n\n"
btvalues = pd.read_json(btvalues)
btvalues.sort_values('delta', axis=0, inplace=True)
if not btvalues.empty:
message += "These were the breakthrough values:\n"
for t in btvalues.itertuples():
delta = t.delta
cpvalue = t.cpvalues
pwr = t.pwr
tablevalues = [
{'delta': t.delta,
'cpvalue': t.cpvalues,
'pwr': t.pwr
} for t in btvalues.itertuples()
]
message += "Time: {delta} seconds\n".format(
delta=delta
)
message += "New: {cpvalue:.0f} Watt\n".format(
cpvalue=cpvalue
)
message += "Old: {pwr:.0f} Watt\n\n".format(
pwr=pwr
)
# send email with attachment
subject = "A breakthrough workout on rowsandall.com"
from_email = 'Rowsandall <info@rowsandall.com>'
message += "To opt out of these email notifications, deselect the checkbox on your Profile page under Account Information.\n\n"
htmly = get_template('breakthroughemail.html')
message += "Best Regards, the Rowsandall Team"
d = {
'first_name':userfirstname,
'siteurl':siteurl,
'workoutid':workoutid,
'btvalues':tablevalues,
}
email = EmailMessage(subject, message,
'Rowsandall <info@rowsandall.com>',
[useremail])
html_content = htmly.render(d)
text_content = textify(html_content)
msg = EmailMultiAlternatives(subject, text_content, from_email, [useremail])
msg.attach_alternative(html_content, "text/html")
if 'emailbounced' in kwargs:
emailbounced = kwargs['emailbounced']
@@ -367,7 +355,7 @@ def handle_sendemail_breakthrough(workoutid, useremail,
emailbounced = False
if not emailbounced:
res = email.send()
res = msg.send()