basically refactored the email viewer

This commit is contained in:
Tim Bendt
2025-05-14 15:11:24 -06:00
parent 5c9ad69309
commit fc57e201a2
20 changed files with 1348 additions and 575 deletions

View File

@@ -5,6 +5,7 @@ import os
import json
import time
from datetime import datetime
import email.utils
def truncate_id(message_id, length=8):
"""
@@ -67,6 +68,24 @@ def format_datetime(dt_str, format_string="%m/%d %I:%M %p"):
except (ValueError, AttributeError):
return dt_str
def format_mime_date(dt_str):
"""
Format a datetime string from ISO format to RFC 5322 format for MIME Date headers.
Args:
dt_str (str): ISO format datetime string.
Returns:
str: Formatted datetime string in RFC 5322 format.
"""
if not dt_str:
return ""
try:
dt = datetime.fromisoformat(dt_str.replace('Z', '+00:00'))
return email.utils.format_datetime(dt)
except (ValueError, AttributeError):
return dt_str
def safe_filename(filename):
"""
Convert a string to a safe filename.