
    gcj                     4    S r SSKJr  SSKJr  S\\   4S jrg)um   Приведение записей источников к единой record-форме (ключ metric).    )defaultdict)Listreturnc                    [        [        5      nU  H  nXS      R                  U5        M     / nUR                  5        H  u  pE[	        S U 5       5      nU(       a  SOSnU Hz  nU(       a  UR                  S5      OUR                  S5      nUR                  US   US   SUR                  S5      =(       d    S	US
   UUUR                  S5      US   S.	5        M|     M     U$ )u  Метрика решается НА КАНАЛ: если канал отдаёт реакции (t.me/s их показывает),
скорим по реакциям — это ближе к «залетело», по духу как шеры/форварды, которых
t.me/s не даёт. Если у канала реакций нет — скорим по просмотрам.accountc              3   F   #    U  H  oR                  S 5      SLv   M     g7f)likesN)get).0rs     #/home/rasp/mars-trendwatch/adapt.py	<genexpr> tg_to_records.<locals>.<genexpr>   s     E1EE'N$6s   !	reactionsviewsr	   post_idtelegramcaption 	posted_atcomments	permalink)	r   r   platformr   r   metricmetric_kindr   r   )r   listappenditemsanyr
   )	
fw_recordsby_accr   outaccrecshas_reactionskindr   s	            r   tg_to_recordsr'      s     F|##A& 
C\\^	EEE+{A'4QUU7^!%%.FJJY<Y<&55+1r{^ #EE*-{^
 
  $  J    N)__doc__collectionsr   typingr   dictr'    r(   r   <module>r.      s    s # d r(   