
    Cj	                         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	Zej1                  d
      defd       Zy)    )	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                   K   t        j                  t        j                        t	        |      z
  }| j                  t        t        j                  t        j                        j                  d      t        j                  t        j                        j                  d            j                  t        j                  |k\        j                  t        j                  t        j                              j!                  t        j                  t        j                                     d {   }|j#                         D cg c]#  }t%        |j                        |j                  f% c}S 7 Ac c}w w)Nr   datecount)r   nowr
   utcr	   executer   r   r   r   	viewed_atlabelr   idwheregroup_byorder_byallstr)sessionr   sinceresultrows        HC:\Users\koklo\Documents\pet_projects\kinoBot\admin\routers\analytics.py_get_daily_viewsr'      s     LL&)==E??IIi))*008JJy||$**73	
 
y""e+	,	$))I//0	1	$))I//0	1 F 39**,?,3S]CII&,?? @s$   D/E:1E32E:(E50E:5E: requestc                   K   t               4 d {   }t        |d       d {   }t        |d       d {   }t        |       d {   }t	        |d       d {   }t        |d       d {   }d d d       d {    t              }t              }g }	g }
g }t        ddd      D ]  }t        j                  t        j                        t        |      z
  j                  d      }|	j                  |       |
j                  |j                  |d	             |j                  |j                  |d	              t!        t        d
            }|D cg c]  }j                  |d	       }}D cg c]  \  }}|j#                  d       }}}|D cg c]  \  }}|	 }}}t%        | d|	|
|t!        j'                               t!        |j)                               |D cg c]  }| d	 c}|||      S 7 7 7 7 7 7 7 # 1 d {  7  sw Y   xY wc c}w c c}}w c c}}w c c}w w)N   r      
   )limit   z%Y-%m-%dr      uzzanalytics/index.htmlz:00)	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appendgetlist	get_titler   keysvalues)r)   r"   reg_30views_30	lang_disthourly
top_moviesreg_dict
views_dictr3   r4   r5   idr8   hr9   m_r:   vr;   s                         r&   	analyticsrR       s    "$$.wR@@)';;/88	*7;;)'<<
 %$ F|HhJEHJ2r2\\(,,')*;;EEjQQQ*+*..A./	  rOM-:;]6::a#]K;0:;
1!++d#
J;)*ztq!zI*')*y'')**78-Q!Cy-8 5 %@;8;< %$$$* <;* 9s   IHIH!HH!HH!HH!#H$H!8H9H!=IH	CI%H7>IH< I(I4AI5IIH!H!H!H!H!I!H4'H*(H4/I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'   r@   rR        r&   <module>r]      sa    & ) ) 2 2 " 7  *	@# @ B&W & &r\   