from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def mailbox_use_tls():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202408060925_mailbox_use_tls )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    print('Запуск патча mailbox_use_tls')

    mailbox = models.CmfPluginMailBox.get_local_mailbox()
    mailbox.load_fields(['plugin.ext_smtp', 'plugin.ext_port', 'plugin.use_tls'])
    try:
        server, port = mailbox.plugin.ext_smtp.value.split(':')
    except:
        server = mailbox.plugin.ext_smtp.value
        port = mailbox.plugin.ext_port.value
    if int(port) == 587 and not mailbox.plugin.use_tls.value:
        mailbox.plugin.use_tls = True
        mailbox.plugin.save(only_data=True)


if __name__ == "__main__":
    mailbox_use_tls()
