From 88ae165c20c83de70e3810ab95e44db7e01baa3c Mon Sep 17 00:00:00 2001 From: loueysioua Date: Fri, 5 Dec 2025 03:34:58 +0100 Subject: [PATCH 1/4] feat: added git ignore --- .gitignore | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5257c8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,48 @@ +# Environment variables +.env +.venv/ +env/ +venv/ + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# Credentials and secrets +credentials.json +token.json +*.key +*.pem + +# OS files +.DS_Store +Thumbs.db + +# Project specific +*.log +.vscode From d09131c130e538c7ab016e3f1e105b3841f33b0f Mon Sep 17 00:00:00 2001 From: loueysioua Date: Fri, 5 Dec 2025 03:35:16 +0100 Subject: [PATCH 2/4] feat: certificate mail automation + project refactor --- config.py | 37 ++++++++ drive_manager.py | 44 +++++++++ email_composer.py | 71 +++++++++++++++ email_template.html | 24 +++++ google_auth.py | 37 ++++++++ requirements.txt | 1 + send_emails.py | 205 +++++++++++++++--------------------------- sheet_manager.py | 46 ++++++++++ signature_mail_rh.png | Bin 47574 -> 88331 bytes 9 files changed, 330 insertions(+), 135 deletions(-) create mode 100644 config.py create mode 100644 drive_manager.py create mode 100644 email_composer.py create mode 100644 email_template.html create mode 100644 google_auth.py create mode 100644 sheet_manager.py diff --git a/config.py b/config.py new file mode 100644 index 0000000..68ad911 --- /dev/null +++ b/config.py @@ -0,0 +1,37 @@ +import os +from dataclasses import dataclass +from pathlib import Path + +from dotenv import load_dotenv + +load_dotenv() + +@dataclass +class Config: + """Central configuration loading from .env""" + # We use os.getenv() to read the .env file. + # The second argument is a fallback default if the .env var is missing. + SPREADSHEET_ID: str = os.getenv("SPREADSHEET_ID") + TAB_NAME: str = os.getenv("SHEET_TAB_NAME", "Sheet1") + + # Convert strings to Path objects for better file handling + SIGNATURE_IMAGE_PATH: Path = Path(os.getenv("SIGNATURE_IMAGE_FILE", "signature.png")) + CREDENTIALS_FILE: Path = Path(os.getenv("CREDENTIALS_FILE", "credentials.json")) + TOKEN_FILE: Path = Path(os.getenv("TOKEN_FILE", "token.json")) + TEMPLATE_FILE: Path = Path(os.getenv("TEMPLATE_FILE", "email_template.html")) + + FORM_LINK: str = os.getenv("FORM_LINK", "#") + + SCOPES = [ + "https://www.googleapis.com/auth/gmail.send", + "https://www.googleapis.com/auth/spreadsheets", + "https://www.googleapis.com/auth/drive.readonly" + ] + + @classmethod + def validate(cls): + """Checks if critical config is missing.""" + if not cls.SPREADSHEET_ID: + raise ValueError("Missing SPREADSHEET_ID in .env file") + if not cls.TEMPLATE_FILE.exists(): + raise FileNotFoundError(f"Template file not found: {cls.TEMPLATE_FILE}") \ No newline at end of file diff --git a/drive_manager.py b/drive_manager.py new file mode 100644 index 0000000..a97c353 --- /dev/null +++ b/drive_manager.py @@ -0,0 +1,44 @@ +import io +import re +from typing import Tuple + +from googleapiclient.http import MediaIoBaseDownload + + +class DriveManager: + """Handles downloading files from Google Drive.""" + + def __init__(self, service): + self.service = service + + def _extract_id(self, url: str) -> str: + """Extracts file ID from various Google Drive URL formats.""" + patterns = [ + r'/d/([a-zA-Z0-9-_]+)', + r'id=([a-zA-Z0-9-_]+)' + ] + for pattern in patterns: + match = re.search(pattern, url) + if match: + return match.group(1) + raise ValueError(f"Could not parse Drive ID from URL: {url}") + + def download_file(self, file_url: str) -> Tuple[bytes, str]: + """Downloads a file into memory and returns (bytes, filename).""" + file_id = self._extract_id(file_url) + + # Get Metadata (Name) + meta = self.service.files().get(fileId=file_id, fields='name').execute() + filename = meta.get('name', 'attachment.pdf') + + # Download Content + request = self.service.files().get_media(fileId=file_id) + fh = io.BytesIO() + downloader = MediaIoBaseDownload(fh, request) + + done = False + while not done: + _, done = downloader.next_chunk() + + fh.seek(0) + return fh.read(), filename \ No newline at end of file diff --git a/email_composer.py b/email_composer.py new file mode 100644 index 0000000..1ea904a --- /dev/null +++ b/email_composer.py @@ -0,0 +1,71 @@ +import base64 +import logging +from email import encoders +from email.mime.base import MIMEBase +from email.mime.image import MIMEImage +from email.mime.multipart import MIMEMultipart +from email.mime.text import MIMEText + +from config import Config + + +class EmailService: + """Handles constructing and sending emails.""" + + + def __init__(self, service): + self.service = service + + def _build_html_body(self, name: str) -> str: + return f""" + + +

Hi {name},

+

Thank you for being part of CodeQuest 3.0.

+

You’ve completed this edition, and we’re happy to award you your official participation certificate.

+

Please find your certificate attached.

+

Feedback: Click here

+

The CodeQuest Team

+
+ Signature + + + """ + + def send_email(self, to_email: str, name: str, cert_data: bytes, cert_name: str): + logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + datefmt='%H:%M:%S' + ) + logger = logging.getLogger(__name__) + + msg = MIMEMultipart('mixed') + msg['To'] = to_email + msg['Subject'] = "Your CodeQuest 3.0 Certificate" + + # Related part (HTML + Inline Images) + msg_related = MIMEMultipart('related') + msg.attach(msg_related) + msg_related.attach(MIMEText(self._build_html_body(name), 'html')) + + # Inline Signature + if Config.SIGNATURE_IMAGE_PATH.exists(): + with open(Config.SIGNATURE_IMAGE_PATH, 'rb') as f: + img = MIMEImage(f.read()) + img.add_header('Content-ID', '') + img.add_header('Content-Disposition', 'inline') + msg_related.attach(img) + else: + logger.warning("Signature image not found. Sending without it.") + + # Attachment + part = MIMEBase('application', 'octet-stream') + part.set_payload(cert_data) + encoders.encode_base64(part) + part.add_header('Content-Disposition', f'attachment; filename="{cert_name}"') + msg.attach(part) + + # Send + raw = base64.urlsafe_b64encode(msg.as_bytes()).decode() + self.service.users().messages().send(userId="me", body={"raw": raw}).execute() \ No newline at end of file diff --git a/email_template.html b/email_template.html new file mode 100644 index 0000000..3638002 --- /dev/null +++ b/email_template.html @@ -0,0 +1,24 @@ + + +

Hi {name},

+ +

Thank you for being part of CodeQuest 3.0.

+ +

You’ve completed this edition, and we’re happy to award you your official participation certificate.

+ +

+ 📎 Please find your certificate attached to this email. +

+ +

We hope this experience helped you learn and grow.

+ +

+ Feedback Form:
+ Click here to give feedback +

+ +

The CodeQuest Team

+
+Signature + + \ No newline at end of file diff --git a/google_auth.py b/google_auth.py new file mode 100644 index 0000000..1bffb09 --- /dev/null +++ b/google_auth.py @@ -0,0 +1,37 @@ +from typing import Tuple + +from google.auth.transport.requests import Request +from google.oauth2.credentials import Credentials +from google_auth_oauthlib.flow import InstalledAppFlow +from googleapiclient.discovery import build, Resource + +from config import Config + + +class GoogleAuth: + """Handles Google OAuth2 authentication.""" + + @staticmethod + def get_services() -> Tuple[Resource, Resource, Resource]: + creds = None + if Config.TOKEN_FILE.exists(): + creds = Credentials.from_authorized_user_file(str(Config.TOKEN_FILE), Config.SCOPES) + + if not creds or not creds.valid: + if creds and creds.expired and creds.refresh_token: + creds.refresh(Request()) + else: + if not Config.CREDENTIALS_FILE.exists(): + raise FileNotFoundError(f"Missing {Config.CREDENTIALS_FILE}") + flow = InstalledAppFlow.from_client_secrets_file(str(Config.CREDENTIALS_FILE), Config.SCOPES) + creds = flow.run_local_server(port=0) + + # Save the credentials for the next run + with open(Config.TOKEN_FILE, "w") as token: + token.write(creds.to_json()) + + return ( + build("gmail", "v1", credentials=creds), + build("sheets", "v4", credentials=creds), + build("drive", "v3", credentials=creds) + ) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index f4e69f0..16426c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ google-auth-oauthlib==1.2.1 google-auth-httplib2==0.2.0 google-api-python-client==2.147.0 Pillow +dotenv diff --git a/send_emails.py b/send_emails.py index 79d686f..0012bdf 100644 --- a/send_emails.py +++ b/send_emails.py @@ -1,146 +1,81 @@ -from __future__ import print_function -import base64 -import os +import datetime +import logging import time -from email.mime.text import MIMEText -from email.mime.multipart import MIMEMultipart -from google.auth.transport.requests import Request -from google.oauth2.credentials import Credentials -from google_auth_oauthlib.flow import InstalledAppFlow -from googleapiclient.discovery import build -from datetime import datetime - -# ----------------------------- CONFIG ----------------------------- -# Put your Google Sheet ID here -SPREADSHEET_ID = "1I2L48ejaRmL1dDm7JmIjv_CX5lqIwjHmMnIJQlIQtw8" - -# Gmail & Sheets API scopes -SCOPES = [ - "https://www.googleapis.com/auth/gmail.send", - "https://www.googleapis.com/auth/spreadsheets", -] - -# Path to your email signature image -SIGNATURE_IMAGE = "signature_mail_rh.png" - -# Feedback form link -FORM_LINK = "https://docs.google.com/forms/d/e/1FAIpQLSexGv_oQi77lppRIEsV6HENuItai31x3UYQFskV2JTQrYqB7Q/viewform?usp=publish-editor" - -# --------------------------- AUTH FUNCTIONS --------------------------- -def authenticate_google_services(): - creds = None - if os.path.exists("token.json"): - creds = Credentials.from_authorized_user_file("token.json", SCOPES) - if not creds or not creds.valid: - if creds and creds.expired and creds.refresh_token: - creds.refresh(Request()) - else: - flow = InstalledAppFlow.from_client_secrets_file("credentials.json", SCOPES) - creds = flow.run_local_server(port=0) - with open("token.json", "w") as token: - token.write(creds.to_json()) - gmail_service = build("gmail", "v1", credentials=creds) - sheets_service = build("sheets", "v4", credentials=creds) - return gmail_service, sheets_service - -# --------------------------- SHEETS HELPERS --------------------------- -def normalize_header(h): - return h.strip().replace(" ", "").lower() - -def load_sheet_data(sheets_service, tab_name): - result = sheets_service.spreadsheets().values().get( - spreadsheetId=SPREADSHEET_ID, - range=f"{tab_name}!A:Z" - ).execute() - values = result.get("values", []) - if not values: - return [], [], [] - headers_raw = values[0] - headers = [normalize_header(h) for h in headers_raw] - data_rows = values[1:] - return headers, data_rows, headers_raw - -def get_col_idx(headers, col_name): - norm = normalize_header(col_name) - if norm not in headers: - raise Exception(f"Missing required column: {col_name}") - return headers.index(norm) - -def update_sheet_cell(sheets_service, tab_name, row, col, value): - range_name = f"{tab_name}!{chr(65 + col)}{row}" - body = {"values": [[value]]} - sheets_service.spreadsheets().values().update( - spreadsheetId=SPREADSHEET_ID, - range=range_name, - valueInputOption="RAW", - body=body - ).execute() - -# --------------------------- EMAIL FUNCTIONS --------------------------- -def build_html_email(name, cert_link): - return f""" - - -

Hi {name},

-

Thank you for being part of CodeQuest 3.0, a beginner-friendly adventure where curiosity, - courage, and a little competitive chaos create magic.

-

You’ve completed this edition, and we’re happy to award you your official participation certificate.

-

Certificate:
- {cert_link}

-

We hope this experience helped you learn, grow, and feel more confident in competitive programming. - Every explorer starts somewhere — today, you took a step forward.

-

Feedback Form:
- {FORM_LINK}

-

Once again, congratulations and thank you for journeying down the rabbit hole with us.
- We look forward to your participation in WinterCup.

-

The CodeQuest Team

- - - -""" - -def send_email(gmail_service, recipient, subject, html_body): - msg = MIMEMultipart("alternative") - msg["To"] = recipient - msg["Subject"] = subject - msg.attach(MIMEText(html_body, "html")) - raw_message = base64.urlsafe_b64encode(msg.as_bytes()).decode() - gmail_service.users().messages().send(userId="me", body={"raw": raw_message}).execute() - -# --------------------------- MAIN --------------------------- -def main(): - gmail, sheets = authenticate_google_services() +from pathlib import Path + +from dotenv import load_dotenv + +from config import Config +from drive_manager import DriveManager +from email_composer import EmailService +from google_auth import GoogleAuth +from sheet_manager import SheetManager + - tab_name = "Recipients" - headers, rows, _ = load_sheet_data(sheets, tab_name) +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + datefmt='%H:%M:%S' +) +logger = logging.getLogger(__name__) +def main(): + logger.info("Starting Batch Mailer...") - email_col = get_col_idx(headers, "email") - name_col = get_col_idx(headers, "name") - cert_col = get_col_idx(headers, "certiflink") - sent_col = get_col_idx(headers, "sent?") - timestamp_col = get_col_idx(headers, "timestamp") + try: + Config.validate() # Ensure env vars are loaded - for i, row in enumerate(rows, start=2): - email = row[email_col].strip() - name = row[name_col].strip() - cert_link = row[cert_col].strip() - sent_status = row[sent_col].strip().lower() if len(row) > sent_col else "" + gmail_svc, sheets_svc, drive_svc = GoogleAuth.get_services() + sheet_manager = SheetManager(sheets_svc, Config.SPREADSHEET_ID) + drive_manager = DriveManager(drive_svc) + email_service = EmailService(gmail_svc) - if sent_status == "yes": - continue + headers, rows = sheet_manager.load_data(Config.TAB_NAME) - html_body = build_html_email(name, cert_link) try: - send_email(gmail, email, "Your CodeQuest 3.0 Certificate is Here!", html_body) - update_sheet_cell(sheets, tab_name, i, sent_col, "Yes") - update_sheet_cell(sheets, tab_name, i, timestamp_col, datetime.now().strftime("%Y-%m-%d %H:%M")) - print(f"Sent email to {email}") - except Exception as e: - print(f"Error sending to {email}: {e}") + col_map = { + 'email': headers.index('email'), + 'name': headers.index('name'), + 'cert': headers.index('certifs'), + 'sent': headers.index('sent?'), + 'time': headers.index('timestamp') + } + except ValueError as e: + logger.error(f"Column missing in spreadsheet: {e}") + return + + logger.info(f"Found {len(rows)} rows.") + + for i, row in enumerate(rows): + try: + def get_val(idx): return row[idx].strip() if len(row) > idx else "" + + email = get_val(col_map['email']) + if not email: continue + + if get_val(col_map['sent']).lower() == "yes": + continue + + name = get_val(col_map['name']) + cert_link = get_val(col_map['cert']) + + logger.info(f"Processing: {email}") + + cert_data, cert_name = drive_manager.download_file(cert_link) + email_service.send_email(email, name, cert_data, cert_name) + + sheet_manager.update_cell(Config.TAB_NAME, i, col_map['sent'], "Yes") + sheet_manager.update_cell(Config.TAB_NAME, i, col_map['time'], datetime.now().strftime("%Y-%m-%d %H:%M")) + + logger.info(f"Success: {email}") + time.sleep(1) + + except Exception as e: + logger.error(f"Row {i+2} failed: {e}") - time.sleep(0.5) + except Exception as e: + logger.critical(f"Fatal Error: {e}") - print("All done.") + logger.info("Job Complete.") if __name__ == "__main__": - main() + main() \ No newline at end of file diff --git a/sheet_manager.py b/sheet_manager.py new file mode 100644 index 0000000..c55cfa9 --- /dev/null +++ b/sheet_manager.py @@ -0,0 +1,46 @@ +from typing import Tuple, List + + +class SheetManager: + """Handles reading and writing to Google Sheets.""" + + def __init__(self, service, spreadsheet_id: str): + self.service = service + self.spreadsheet_id = spreadsheet_id + + def _col_idx_to_letter(self, n: int) -> str: + """Converts 0 -> A, 25 -> Z, 26 -> AA, etc.""" + string = "" + while n >= 0: + string = chr((n % 26) + 65) + string + n = (n // 26) - 1 + return string + + def load_data(self, tab_name: str) -> Tuple[List[str], List[List[str]]]: + """Returns normalized headers and data rows.""" + result = self.service.spreadsheets().values().get( + spreadsheetId=self.spreadsheet_id, + range=f"{tab_name}!A:Z" + ).execute() + + values = result.get("values", []) + if not values: + return [], [] + + headers = [h.strip().replace(" ", "").lower() for h in values[0]] + return headers, values[1:] + + def update_cell(self, tab_name: str, row_idx: int, col_idx: int, value: str): + """Updates a specific cell. row_idx is 0-based index from python list.""" + # Convert 0-based row index to Sheets 1-based index + sheet_row = row_idx + 2 # +1 for 0-index, +1 for header row + col_letter = self._col_idx_to_letter(col_idx) + + range_name = f"{tab_name}!{col_letter}{sheet_row}" + + self.service.spreadsheets().values().update( + spreadsheetId=self.spreadsheet_id, + range=range_name, + valueInputOption="RAW", + body={"values": [[value]]} + ).execute() \ No newline at end of file diff --git a/signature_mail_rh.png b/signature_mail_rh.png index d6389df0fb42d22ec3b6d8ef44fa5ad00909b457..7bbd50889e9718c2c6c55fb6af1772675e717a92 100644 GIT binary patch literal 88331 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≪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 SE|LucU&@La3ZLaH!u}tMN Date: Fri, 5 Dec 2025 16:52:30 +0100 Subject: [PATCH 3/4] fix: fixed email template --- email_composer.py | 56 ++++++++++++++++++++++----------------------- email_template.html | 32 ++++++++++++++++++-------- send_emails.py | 11 ++++----- 3 files changed, 54 insertions(+), 45 deletions(-) diff --git a/email_composer.py b/email_composer.py index 1ea904a..4a0d0c6 100644 --- a/email_composer.py +++ b/email_composer.py @@ -8,46 +8,45 @@ from config import Config +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(levelname)s - %(message)s', + datefmt='%H:%M:%S' +) +logger = logging.getLogger(__name__) class EmailService: - """Handles constructing and sending emails.""" - - def __init__(self, service): self.service = service + self.template_content = self._load_template() - def _build_html_body(self, name: str) -> str: - return f""" - - -

Hi {name},

-

Thank you for being part of CodeQuest 3.0.

-

You’ve completed this edition, and we’re happy to award you your official participation certificate.

-

Please find your certificate attached.

-

Feedback: Click here

-

The CodeQuest Team

-
- Signature - - - """ + def _load_template(self) -> str: + """Reads the HTML file into memory.""" + if not Config.TEMPLATE_FILE.exists(): + raise FileNotFoundError(f"Template not found at {Config.TEMPLATE_FILE}") + with open(Config.TEMPLATE_FILE, 'r', encoding='utf-8') as f: + return f.read() def send_email(self, to_email: str, name: str, cert_data: bytes, cert_name: str): - logging.basicConfig( - level=logging.INFO, - format='%(asctime)s - %(levelname)s - %(message)s', - datefmt='%H:%M:%S' - ) - logger = logging.getLogger(__name__) - msg = MIMEMultipart('mixed') msg['To'] = to_email msg['Subject'] = "Your CodeQuest 3.0 Certificate" - # Related part (HTML + Inline Images) msg_related = MIMEMultipart('related') msg.attach(msg_related) - msg_related.attach(MIMEText(self._build_html_body(name), 'html')) + + # Inject variables into the HTML template + # We use .format() to replace {name} and {form_link} in the HTML file + try: + filled_html = self.template_content.format( + name=name, + form_link=Config.FORM_LINK + ) + except KeyError as e: + logger.error(f"Template error: Missing placeholder {e} in HTML file.") + filled_html = self.template_content # Fallback to raw template if error + + msg_related.attach(MIMEText(filled_html, 'html')) # Inline Signature if Config.SIGNATURE_IMAGE_PATH.exists(): @@ -57,7 +56,7 @@ def send_email(self, to_email: str, name: str, cert_data: bytes, cert_name: str) img.add_header('Content-Disposition', 'inline') msg_related.attach(img) else: - logger.warning("Signature image not found. Sending without it.") + logger.warning(f"Signature {Config.SIGNATURE_IMAGE_PATH} not found.") # Attachment part = MIMEBase('application', 'octet-stream') @@ -66,6 +65,5 @@ def send_email(self, to_email: str, name: str, cert_data: bytes, cert_name: str) part.add_header('Content-Disposition', f'attachment; filename="{cert_name}"') msg.attach(part) - # Send raw = base64.urlsafe_b64encode(msg.as_bytes()).decode() self.service.users().messages().send(userId="me", body={"raw": raw}).execute() \ No newline at end of file diff --git a/email_template.html b/email_template.html index 3638002..1afe3a5 100644 --- a/email_template.html +++ b/email_template.html @@ -1,23 +1,37 @@ -

Hi {name},

+

Dear {name},

+ +

+ Thank you for being part of CodeQuest 3.0. + You’ve completed this edition, and we’re happy to award you your official participation certificate. +

-

Thank you for being part of CodeQuest 3.0.

-

You’ve completed this edition, and we’re happy to award you your official participation certificate.

-

- 📎 Please find your certificate attached to this email. +

+ Please find your certificate attached to this email.

-

We hope this experience helped you learn and grow.

+

+ We hope this experience helped you learn , grow and feel more confident in competitive programming. +
Every explorer starts somewhere, today, you took a step forward. +

- Feedback Form:
- Click here to give feedback + We would love to hear your thoughts in our feedback form. Your opinion helps us make the next edition even better.

-

The CodeQuest Team

+

+ Feedback Form: + Click here +

+ +

+ Once again, congratulations and thank you for journeying down the rabbit hole with us. +
We look forward to seeing you again in our next competition: WinterCup. + CodeQuest Team +


Signature diff --git a/send_emails.py b/send_emails.py index 0012bdf..5ed0550 100644 --- a/send_emails.py +++ b/send_emails.py @@ -1,9 +1,6 @@ -import datetime +from datetime import datetime import logging import time -from pathlib import Path - -from dotenv import load_dotenv from config import Config from drive_manager import DriveManager @@ -34,10 +31,10 @@ def main(): try: col_map = { 'email': headers.index('email'), - 'name': headers.index('name'), + 'name': headers.index('namecapitalized'), 'cert': headers.index('certifs'), 'sent': headers.index('sent?'), - 'time': headers.index('timestamp') + 'timestamp': headers.index('timestamp') } except ValueError as e: logger.error(f"Column missing in spreadsheet: {e}") @@ -64,7 +61,7 @@ def get_val(idx): return row[idx].strip() if len(row) > idx else "" email_service.send_email(email, name, cert_data, cert_name) sheet_manager.update_cell(Config.TAB_NAME, i, col_map['sent'], "Yes") - sheet_manager.update_cell(Config.TAB_NAME, i, col_map['time'], datetime.now().strftime("%Y-%m-%d %H:%M")) + sheet_manager.update_cell(Config.TAB_NAME, i, col_map['timestamp'], datetime.now().strftime("%Y-%m-%d %H:%M")) logger.info(f"Success: {email}") time.sleep(1) From d9bf8205dd9b4a12bc838e9a80292e58fe18dafd Mon Sep 17 00:00:00 2001 From: loueysioua Date: Fri, 12 Dec 2025 21:05:51 +0100 Subject: [PATCH 4/4] fix: mail template for staff --- email_template.html | 26 +++++--------------------- requirements.txt | 4 ++++ 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/email_template.html b/email_template.html index 1afe3a5..3d22e2b 100644 --- a/email_template.html +++ b/email_template.html @@ -3,34 +3,18 @@

Dear {name},

- Thank you for being part of CodeQuest 3.0. - You’ve completed this edition, and we’re happy to award you your official participation certificate. + Thank you for everything you did to help bring CodeQuest 3.0to life. + Your dedication, reliability, and spirit made a real impact, and the event would not have been the same without you.

- - -

- Please find your certificate attached to this email. -

- -

- We hope this experience helped you learn , grow and feel more confident in competitive programming. -
Every explorer starts somewhere, today, you took a step forward. -

- -

- We would love to hear your thoughts in our feedback form. Your opinion helps us make the next edition even better. -

+

We noticed your effort, we appreciated it, and we genuinely value the energy you brought to the team.

- Feedback Form: - Click here + Please find your certificate attached. You have earned it.

- Once again, congratulations and thank you for journeying down the rabbit hole with us. -
We look forward to seeing you again in our next competition: WinterCup. - CodeQuest Team + Best regards,


Signature diff --git a/requirements.txt b/requirements.txt index 16426c1..0f599c0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,7 @@ google-auth-httplib2==0.2.0 google-api-python-client==2.147.0 Pillow dotenv + +requests +python-dotenv +pytest \ No newline at end of file