mirror of
https://github.com/aykhans/series-robot-web.git
synced 2025-04-21 22:28:57 +00:00
email connection fixed
This commit is contained in:
parent
e3e6497d4b
commit
54d02bd56e
@ -1,21 +1,21 @@
|
|||||||
from celery import shared_task
|
from celery import shared_task
|
||||||
from account.models import User
|
from account.models import User
|
||||||
from django.template.loader import render_to_string
|
from django.template.loader import render_to_string
|
||||||
from django.core.mail import EmailMessage
|
|
||||||
from imdb_api_access import SeriesCounter
|
from imdb_api_access import SeriesCounter
|
||||||
from imdb_api_access import MaximumUsageError
|
from imdb_api_access import MaximumUsageError
|
||||||
|
from django.core.mail import (EmailMessage,
|
||||||
|
get_connection)
|
||||||
# from celery.utils.log import get_task_logger
|
# from celery.utils.log import get_task_logger
|
||||||
|
|
||||||
|
|
||||||
# logger = get_task_logger(__name__)
|
# logger = get_task_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def update_series(updated_series):
|
def update_series(updated_series):
|
||||||
updated_series.series.last_season = updated_series.last_season
|
updated_series.series.last_season = updated_series.last_season
|
||||||
updated_series.series.last_episode = updated_series.last_episode
|
updated_series.series.last_episode = updated_series.last_episode
|
||||||
updated_series.series.new_episodes_count = updated_series.new_episodes_count
|
updated_series.series.new_episodes_count = updated_series.new_episodes_count
|
||||||
|
|
||||||
def send_email(user):
|
def compose_email(user):
|
||||||
series = user.series.filter(show=True).order_by('-id')
|
series = user.series.filter(show=True).order_by('-id')
|
||||||
|
|
||||||
series_counter = SeriesCounter(user.imdb_api_key)
|
series_counter = SeriesCounter(user.imdb_api_key)
|
||||||
@ -27,15 +27,14 @@ def send_email(user):
|
|||||||
for updated_series in series_counter.new_series_list:
|
for updated_series in series_counter.new_series_list:
|
||||||
update_series(updated_series)
|
update_series(updated_series)
|
||||||
updated_series.save()
|
updated_series.save()
|
||||||
message = render_to_string('email/maximum_usage_notification.html', {
|
return render_to_string(
|
||||||
'user': user,
|
'email/maximum_usage_notification.html',
|
||||||
'new_series_list': series_counter.new_series_list,
|
{
|
||||||
'maximum_usage': str(e)
|
'user': user,
|
||||||
})
|
'new_series_list': series_counter.new_series_list,
|
||||||
email = EmailMessage(
|
'maximum_usage': str(e),
|
||||||
'New Episodes!', message, to=[user.email]
|
},
|
||||||
)
|
)
|
||||||
email.send()
|
|
||||||
return
|
return
|
||||||
|
|
||||||
if series_len:
|
if series_len:
|
||||||
@ -44,28 +43,30 @@ def send_email(user):
|
|||||||
updated_series.series.save()
|
updated_series.series.save()
|
||||||
|
|
||||||
if series_counter.error_series:
|
if series_counter.error_series:
|
||||||
message = render_to_string('email/error_series_notification.html', {
|
return render_to_string('email/error_series_notification.html', {
|
||||||
'user': user,
|
'user': user,
|
||||||
'new_series_list': series_counter.new_series_list,
|
'new_series_list': series_counter.new_series_list,
|
||||||
'error_series_list': series_counter.error_series
|
'error_series_list': series_counter.error_series,
|
||||||
})
|
})
|
||||||
email = EmailMessage(
|
|
||||||
'New Episodes!', message, to=[user.email]
|
|
||||||
)
|
|
||||||
email.send()
|
|
||||||
return
|
|
||||||
|
|
||||||
message = render_to_string('email/new_series_notification.html', {
|
return render_to_string('email/new_series_notification.html', {
|
||||||
'user': user,
|
'user': user,
|
||||||
'new_series_list': series_counter.new_series_list
|
'new_series_list': series_counter.new_series_list,
|
||||||
})
|
})
|
||||||
email = EmailMessage(
|
|
||||||
'New Episodes!', message, to=[user.email]
|
|
||||||
)
|
|
||||||
email.send()
|
|
||||||
return
|
|
||||||
|
|
||||||
@shared_task(name='send_emails')
|
@shared_task(name='send_emails')
|
||||||
def send_feedback_email_task():
|
def send_feedback_email_task():
|
||||||
users = User.objects.filter(send_email=True)
|
users = User.objects.filter(send_email=True)
|
||||||
for user in users: send_email(user)
|
|
||||||
|
with get_connection() as connection:
|
||||||
|
for user in users:
|
||||||
|
if html_message := compose_email(user):
|
||||||
|
msg = EmailMessage(
|
||||||
|
subject='Series Updated!',
|
||||||
|
body=html_message,
|
||||||
|
from_email='series.notification@gmail.com',
|
||||||
|
to=[user.email],
|
||||||
|
connection=connection,
|
||||||
|
)
|
||||||
|
msg.content_subtype = 'html'
|
||||||
|
msg.send()
|
Loading…
x
Reference in New Issue
Block a user