
    	]j                     v    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ  e j                  e
      Z G d de      Zy)    N)start_job_async_or_sync)BaseCommand)Project)update_tasks_countersc                       e Zd ZdZd Zd Zy)Commandz?Recalculate organization project stats (total_annotations, etc)c                 4    |j                  dt        d       y )Norganizationzorganization id)typehelp)add_argumentint)selfparsers     `/root/env/lib/python3.12/site-packages/label_studio/tasks/management/commands/calculate_stats.pyadd_argumentszCommand.add_arguments   s    N;LM    c                    t         j                  d|d    d       t        j                  j	                  |d         }|D ]p  }t         j                  d|j
                   d       t        t        |j                  j                                t         j                  d|j
                   d       r t         j                  d|d    d       y )	Nz%Start recalculating for Organization r
   .)organization_idzStart processing project zEnd processing project zOrganization z stats were recalculated.)
loggerdebugr   objectsfilteridr   r   tasksall)r   argsoptionsprojectsprojects        r   handlezCommand.handle   s    <W^=T<UUVWX??))'.:Q)R 	BGLL4WZZLBC#$97==;L;L;NOLL27::,a@A	B
 	}W^%<$==VWXr   N)__name__
__module____qualname__r   r   r"    r   r   r   r      s    LDN	Yr   r   )logging
core.redisr   django.core.management.baser   projects.modelsr   tasks.functionsr   	getLoggerr#   r   r   r&   r   r   <module>r-      s4     . 3 # 1			8	$Yk Yr   