def email_digest(): timezone = pytz.timezone('US/Eastern') date = doneit.timezone.localize(datetime.datetime.now().replace(hour=0,minute=0,second=0,microsecond=0)) # midnight today doneit.log("Sending digest for %s at %s" % (request.forms.get('name'), request.forms.get('email'))) r = requests.get("%s/%s?date=%s" % (doneit.digest_composition_service_url, request.forms.get('project_id'), date.strftime(doneit.date_format_url))) tasks = r.json['tasks'] to = request.forms.get('email') subject = "Daily digest for %s" % doneit.get_by_id('projects', request.forms.get('project_id'))['name'] body = [] body.append("Project status as of %s\n\n" % datetime.datetime.now().strftime(doneit.date_format_digest)) for task_type in tasks: body.append("%s:\n" % task_type.title()) task_list = json_util.loads(r.json['tasks'][task_type]) if len(task_list) > 0: for task in task_list: user = doneit.get_by_id('users', task['user_id']) body.append("%s %s - %s\n" % (u'\u2022', task['comment'], user['name'])) else: body.append("%s None\n" % (u'\u2022')) body.append('\n') sign(body) body = ''.join(body) doneit.send_email(to, subject, body)
def email_reminder(): doneit.log("Sending reminder for %s at %s" % (request.forms.get('name'), request.forms.get('email'))) project = doneit.get_by_id('projects', request.forms.get('project_id')) to = request.forms.get('email') subject = "Daily reminder for %s" % project['name'] body = [] body.append("Please remember to provide your status for %s.\n" % project['name']) sign(body) body = ''.join(body) doneit.send_email(to, subject, body)
def send_error_reply(message): to = message['From'] subject = "Re: %s" % message['Subject'] body = "The following message was rejected by the doneit system.\n\n%s" % message.get_payload() doneit.send_email(to, subject, body)