
    bcj                     t    S r SSKJr  SSKJrJr  S\\   4S jrS\S\4S jrS\\	   S	\S
\S\S\\	   4
S jr
g)u   Скоринг «залетело» по медиане метрики внутри одного прогона (без истории).    )datetime)ListOptionalreturnc                     [        S U  5       5      nU(       d  g [        U5      nUS-  nUS-  (       a  [        X   5      $ XS-
     X   -   S-  $ )Nc              3   .   #    U  H  oc  M  Uv   M     g 7f)N ).0vs     #/home/rasp/mars-trendwatch/pulse.py	<genexpr>median.<locals>.<genexpr>   s     5V!!Vs   	      g       @)sortedlenfloat)valuesvalsnmids       r   medianr      sV    5V55DD	A
q&C1uTYqMDI%,,    valuec                     U R                  SS5      n U R                  S5      (       a  U S S S-   n [        R                  " U 5      $ )NZz+00:00z+0000)replaceendswithr   fromisoformat)r   s    r   	_parse_tsr!      sB    MM#x(E~~gcr
X%!!%((r   recordskwindow_startnowc           
         0 nU  H'  nUR                  US   / 5      R                  U5        M)     / nUR                  5        H  u  px[        U Vs/ s H  oUR	                  S5      PM     sn5      n	U	(       d  M8  U Hc  nUR	                  S5      n
U
c  M  [        US   5      nX+s=::  a  U::  d  O  M7  X-  nX:  d  MB  UR                  0 UES[        US5      0E5        Me     M     UR                  S SS9  U$ s  snf )	u   Для источника со «своей лентой» (ТГ): пост залетел, если его метрика
>= k * медианы канала. Медиана — по всем отданным постам аккаунта.accountmetric	posted_atratior   c                     U S   $ )Nr*   r	   )rs    r   <lambda>hot_posts.<locals>.<lambda>/   s    1W:r   T)keyreverse)
setdefaultappenditemsr   getr!   roundsort)r"   r#   r$   r%   by_accr,   hotaccrecsmedmtsr*   s                r   	hot_postsr>      s     F!I,+2215 
C\\^	t4t!eeHot45AhAy1[>*B -#-GEz

:a:%q/:; 	 $ HH%tH4J 5s   C:
N)__doc__r   typingr   r   r   r   strr!   dictr>   r	   r   r   <module>rC      sf    O  !-huo -)S )X )tDz e 8  $T
r   