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 )CmfSearchStatAggregDayT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 ]Z}|jj }|jrt|jD ]}|||d |d | qVn|||j|j| d|_	|
  q:d S )Nc              	   S   sr   t jj||| j| j| j|dgd}|s.t  }||_| j|_||_| j|_| j|_||_| j	d7  _	|
  d S )Nnum)obj_iddaysearch_queryaction	person_id
project_idfields   )modelsr   getr   r	   r
   r   r   r   r   save)statr   r   r   Z	stat_aggr r   8./modules/analytics/models/cmf_search_stat_aggreg_day.pyprocess_record   s"    
  z:CmfSearchStatAggregDay.calc_aggreg.<locals>.process_recordr   r   r	   cmf_created_atr
   r   r   obj_listFr   i  )
aggregatedr   Zorder_bysliceT)r   ZCmfSearchStatlistr   valuedater   r   r   r   r   )clsr   r   Z	stat_listr   r   Zrecr   r   r   calc_aggreg   s    
z"CmfSearchStatAggregDay.calc_aggregz	@minutely)Z	only_onceZ
system_jobZschedulec                   C   s   t   d S )N)r   r   r   r   r   r   celery_update_stat/   s    z)CmfSearchStatAggregDay.celery_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   4   s    z"CmfSearchStatAggregDay.export2file)NNr   F)__name__
__module____qualname__Z	api_allowmodules	analyticsr   cmf_search_stat_aggreg_dayr   Zapi_methodsclassmethodr   staticmethodZcmf_deferred_jobr   r   r   r   r   r   r      s   
#r   )Zcmf.includeZ3modules.analytics.fields.cmf_search_stat_aggreg_dayr)   r*   r   r+   r   r   r   r   r   <module>   s   