from patch.include import *
from tqdm import tqdm


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

    with cmfutil.disable_acl(), cmfutil.disable_notify():
        maxlen = 512
        for stat in models.CmfSearchStat.list(aggregated=False, slice=[start, start + step]):
            if len(stat.search_query)>maxlen:
                stat.search_query = stat.search_query[:maxlen]
                stat.save(only_data=True)
            start += step

if __name__ == "__main__":
    searchstat_bigquery()
