U
    g+
                     @   s,   d dl T d dlZG dd dejjjjZdS )    )*Nc                   @   sX   e Zd ZdZejjjjj	dg Z	e
dd Zeedddddd Ze
dddZd	S )CmfStatAggregDayTexport2filec              
   C   s   dd }ddddddd	d
g}t jjd|dgddgd}|D ]}|jj }t jj|j||j	|j
|j|jd
gd}|s|t  }|j|_||j|_|j	|_	||_|j
|_
|j|_|j|_|j|_| jd7  _|j|_|  d|_|  q:d S )Nc                 S   s<   |  drdS |  drdS |  dr*dS |  dr8dS d S )	NzCmfDocument:ZdocumentzCmfTask:ZtaskzCmfAttachment:Z
attachmentzCmfComment:Zcomment)
startswith)id r   1./modules/analytics/models/cmf_stat_aggreg_day.pycalc_obj_type   s    



z3CmfStatAggregDay.calc_aggreg.<locals>.calc_obj_typeobj_idactioncmf_created_at	person_id
project_id	parent_id
history_idnumFr   i  )
aggregatedfieldsZorder_byslice)r
   dayr   r   r   r   r      T)ZmodelsZCmfStatlistr   valuedater   getr
   r   r   r   r   Zobj_typer   r   r   Zcmf_modified_atZsaver   )clsr	   r   Z	stat_liststatr   Z	stat_aggrr   r   r   calc_aggreg
   s2    
  zCmfStatAggregDay.calc_aggregz	@minutely)Z	only_onceZ
system_jobZschedulec                   C   s   t   d S )N)r   r   r   r   r   r   cron_update_stat2   s    z!CmfStatAggregDay.cron_update_statNcsvFc                 C   s&   ddl m} | j}|j|||||dS )Nr   )
cmf_export)
class_namefield_namesbqlformat_fileinclude_archived)Zcmf.utilr    r!   r   )r   r"   r#   r$   r%   r    r!   r   r   r   r   7   s    zCmfStatAggregDay.export2file)NNr   F)__name__
__module____qualname__Z	api_allowmodules	analyticsr   cmf_stat_aggreg_dayr   Zapi_methodsclassmethodr   staticmethodZcmf_deferred_jobr   r   r   r   r   r   r      s   
'r   )Zcmf.includeZ,modules.analytics.fields.cmf_stat_aggreg_dayr)   r*   r   r+   r   r   r   r   r   <module>   s   