o
    eOj	                     @   s   d dl mZmZ d dlmZmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZmZmZmZ d dlmZ e Zdd	efd
dZeddefddZdS )    )	APIRouterRequest)selectfuncdesc)datetime	timedeltatimezone)render)AsyncSessionFactory)get_daily_registrationsget_users_by_languageget_hourly_activityget_top_movies)	MovieView   daysc                    s   t tjt|d }| ttt	j
dtt	jdt	j
|ktt	j
tt	j
I d H }dd | D S )Nr   datecountc                 S   s   g | ]
}t |j|jfqS  )strr   r   ).0rowr   r   D/var/www/www-root/data/www/ai-bot.pdev.uz/admin/routers/analytics.py
<listcomp>   s    z$_get_daily_views.<locals>.<listcomp>)r   nowr	   utcr   executer   r   r   r   	viewed_atlabelr   idwheregroup_byorder_byall)sessionr   sinceresultr   r   r   _get_daily_views   s   
	r)    requestc                    s|  t  4 I d H 6}t|ddI d H }t|ddI d H }t|I d H }t|ddI d H  t|ddI d H }W d   I d H  n1 I d H sDw   Y  t|}t|}g }g }	g }
tdddD ]'}t	t
jt|d d}|| |	||d	 |
||d	 q]ttd
} fdd|D }dd |D }dd |D }t| d||	|
t| t| dd |D |||dS )Nr   r      
   )limit   z%Y-%m-%dr      c                    s   g | ]}  |d qS )r   )getr   hhourlyr   r   r   7   s    zanalytics.<locals>.<listcomp>c                 S   s   g | ]	\}}| d qS )uz)	get_title)r   m_r   r   r   r   9   s    c                 S   s   g | ]\}}|qS r   r   )r   r:   vr   r   r   r   :   s    zanalytics/index.htmlc                 S   s   g | ]}| d qS )z:00r   r3   r   r   r   r   C   s    )	datesreg_vals
views_valslang_labels	lang_datahourly_labelshourly_data
top_titles	top_views)r   r   r)   r   r   r   dictranger   r   r	   r   r   strftimeappendr2   listr
   keysvalues)r+   r&   reg_30views_30	lang_dist
top_moviesreg_dict
views_dictr<   r=   r>   idrA   rB   rC   rD   r   r5   r   	analytics    sD   (


rT   N)r   )fastapir   r   
sqlalchemyr   r   r   r   r   r	   admin.responsesr
   bot.database.connectionr   bot.database.crud.analyticsr   r   r   r   bot.database.modelsr   routerintr)   r2   rT   r   r   r   r   <module>   s    