Source code for project_progress.send_notification

import os
import json
import email
from .slack_bot import sendSlackWebhook

current_dir = os.path.dirname(os.path.abspath(__file__))
emails_path = os.path.join(current_dir, "emails.json")


[docs]def find_encoding_info(txt): """ Find encoding information for a given text. :param txt: The text to find encoding information for (str) :return: A tuple containing the decoded subject and the encoding (tuple) """ info = email.header.decode_header(txt) subject, encode = info[0] return subject, encode
# Read email data from the local JSON file with open(emails_path, "r") as file: emails = json.load(file) # Process the emails for email_message in emails: email_from = email_message["From"] email_date = email_message["Date"] subject_str = email_message["Subject"] # Enter the keyword you want to filter out of the email. # If the program finds the keyword, it returns the location. Otherwise, it returns -1. # In this case, the program will find the email that contains "Thank you" in the content. # You can customize the word you want to find in your email. if subject_str.find("Thank you") >= 0: slack_send_message = email_from + "\n" + email_date + "\n" + subject_str webhook_url = os.environ.get("SLACK_WEBHOOK_URL", "https://example.com/mock_url") sendSlackWebhook(slack_send_message, webhook_url) print(slack_send_message)