from patch.include import *
from tqdm import tqdm


@app_context(commit=True)
def patch():
    """
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    """
    for model_name in tqdm(('CmfTask','CmfChatGroup', 'CmfChatTopic', 'CmfCompany', 'CmfDocument',
                            'CmfInvoice', 'CmfLead', 'CmfList', 'CmfMail', 'CmfPayment', 'CmfPipeline',
                            'CmfProject', 'CmfPurchaseOrder', 'CmfPurchaseOrderItems', 'CmfStockMove',
                            'CmfStockMoveItems', 'CmfTask', 'CmfUWorkPost', 'CmfDeal', 'CmfNotify', 'CmfComment')):
        for item in vars(models)[model_name].slist(filter=['priority_old', '!=', '0'], fields=['priority', 'priority_old']):
            if item.priority_old == '/':
                item.priority = -1
            else:
                try:
                    item.priority = int(item.priority_old)
                    item.save()
                except:
                    g.debug(f'Некорректный выбор "{item.priority_old}"')


if __name__ == "__main__":
    patch()
