from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def patch():
    """
    Для тестирования патча: ( cd /opt/crm; python3 -m patch.20220XXXXXXX_PATCHNAME )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    
    field_names = ['ext_password', 'password', 'ext_token', 'ext_secret', 'ext_key']
    for plugin in tqdm(models.CmfPlugin.list(fields=field_names)):
        for field_name in field_names:
            if getattr(plugin, field_name):
                setattr(plugin, field_name, getattr(plugin, field_name).value)


if __name__ == "__main__":
    patch()
