from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def patch():
    """
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.20220XXXXXXX_PATCHNAME )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    for mailbox in tqdm(models.CmfMailbox2.list(fields=['password'])):
        try:
            if mailbox.password and not mailbox.password.value.startswith('AES256:'):
                mailbox.password = mailbox.password.value
                mailbox.save()
        except:
            print(f'Не удалось конвертировать пароль у ящика {mailbox}')
    for mailbox in tqdm(models.CmfMailbox.list(fields=['password'])):
        try:
            if mailbox.password and not mailbox.password.value.startswith('AES256:'):
                mailbox.password = mailbox.password.value
                mailbox.save()
        except:
            print(f'Не удалось конвертировать пароль у ящика {mailbox}')


if __name__ == "__main__":
    patch()

