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()):
        ...
    """
    with cmfutil.disable_acl(), cmfutil.disable_notify():
        for archive in tqdm(models.CmfFolder.list(filter=["sys_type", "==", "archive"], fields=['tree_nodes'])):
            for obj in archive.tree_nodes:
                obj.cmf_archived = True
                obj.save(only_data=True)

if __name__ == "__main__":
    patch()

