U
    e=                     @   s8   d dl T d dlmZ edddd Zedkr4e  dS )	    )*)tqdmT)Zcommitc                  C   s.  t d tjjdddgddgdD ]x} tjj| ddgd	}|s@qx|D ]*}d
|_|jdd t d|  d|  qDt  q&| js"t d|   | 	  t  q"d}g }g }tj
j||d gdgdddddgd}t d| d |d7 }|sqF|D ]P}|jst d|  ||j q|jj|jkrt d|  ||j qq|rt d tj
jdd|gdddddgd}|D ]<}t d| d|j d|j  |  |jdd d d! qx|r*t d" tj
jdd|gdd#ddddgd}|D ]>}t d| d|j d$|jj d|jjj d%	 || qd
S )&u   
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch. )
    Добавляет :default в лоджиктайпы для согласования, исправляет запись
    u!   Запуск патча gantt_fixZ
is_operate=Tcmf_deleted)filterZinclude_deletedfieldsr   i  )parentsliceN)	only_dataz Fix op_gantt_task.parent = None z -> zDelete operate baseline i'  cmf_created_atzop_gantt_task.task_idr   Zlogic_prefixZparent_task)r	   Zorder_byZTECHCOM_nocacher   u   Обработано u    задачzBad task! No op_gantt_task t=u%   Bad task! Чужой op_gantt_task t=u    Иправляем no_gantt_taskidZIN)r   r   (z) op_gantt_task=F)r
   ZemitZnotifyu!   Иправляем bad_gantt_taskz!op_gantt_task.task.cmf_created_atz) gantt=))printZmodelsZCmfGanttBaselinelistZCmfGanttTaskr   ZsaveZcommit_with_eventr   deleteZCmfTaskZslistZop_gantt_taskappendr   Ztask_idr   Z_calc_gantt_taskZtaskZ_clone_op_gantt_task)ZbaselineZgantt_task_listZ
gantt_taskiZno_gantt_taskZbad_gantt_taskZ	task_listt r   ,/opt/eva-app/patch/202401091607_gantt_fix.py	gantt_fix   s~     

    .r   __main__N)Zpatch.includer   Zapp_contextr   __name__r   r   r   r   <module>   s
   
I