#!/bin/sh

mail_uid=${1:-"1"}


echo "seen_del_mail: ${mail_uid} "

export IMAP_UID="${mail_uid}"

command='
import os
import sys
import imaplib


from mail_utils import init_imap_session
from mail_utils import get_val_config

#  отметка о прочтении
def mark_as_seen(mail_obj, uid):
    status, _ = mail_obj.uid("STORE", uid, "+FLAGS", "\\Seen")
    if status == "OK":
        print("seen_del_mail:",uid," отмечено как прочитанное.")
        return True
    else:
        print("seen_del_mail: Ошибка: Не удалось поставить статус Seen для UID ",uid, file=sys.stderr)
        return False

#  удаление письма
def delete_and_expunge(mail_obj, uid, folder_name):
    status, _ = mail_obj.uid("STORE", uid, "+FLAGS", "\\Deleted")
    if status == "OK":
        print("seen_del_mail: Письмо",uid,"помечено на удаление.")

        mail_obj.expunge()
        print("seen_del_mail: Письмо",uid,"окончательно удалено.")
        return True
    else:
        print("seen_del_mail: Ошибка: Не удалось пометить на удаление письмо",uid, file=sys.stderr)
        return False


mail_uid = os.environ.get("IMAP_UID")

try:

    mail = init_imap_session("config.ini")
   
    mark_as_seen(mail, mail_uid)

    folder = get_val_config("folder")
  
    delete_and_expunge(mail, mail_uid, folder)

    mail.logout()
    sys.exit(0)

except Exception as e:
    print("seen_del_mail: Ошибка при работе с IMAP:", e, file=sys.stderr)
    sys.exit(1)
'

response=$(python3 -B -c "${command}")
r=$?

if [ $r -ne 0 ]; then
    echo "seen_del_mail: Ошибка обработки uid=${mail_uid} ${response}"
    exit $r
fi

echo "manage_mail: OK"
exit 0
