
    w>jE                       d Z ddlmZ ddlZddlZddlZddlZddlZ	 ej                  e      ZdZdZdZ ej                   dej"                  ej$                  z        Z ej                   dej"                  ej$                  z        Z ej                   d	ej"                        Z ej                   d
      ZddddZedk(  r ej0                  ej2                         ddlZ eej                  j7                  ej8                  j:                         ej<                  d      z
        Z e  ejB                  ed             yy)u2   GitHub-Trending-Helper — HTML-Scrape (defensiv).    )annotationsNz?https://github.com/trending?since=daily&spoken_language_code=enz$aria-radar/0.1 (+aseckzai@gmail.com)   z<h2[^>]*class="h3 lh-condensed"[^>]*>\s*<a[^>]*?\bhref="(?P<path>/[^"]+/[^"]+?)"[^>]*>.*?</h2>(?P<after>.*?)(?=<article|</main>|$)z,<p[^>]*color-fg-muted[^>]*>(?P<desc>.*?)</p>z([\d,]+)\s*stars\s*todayz'itemprop="programmingLanguage">([^<]+)<   )	max_itemsc                t   t         j                  j                  t        t        dd      }	 t         j                  j                  |t              5 }|j                         j                  dd      }ddd       t        t        j                              }|st        j                  d
       g S t        j                   j#                  t        j$                  j&                        j)                         }g }|d| D ]Z  }	t+        j,                  dd|	j/                  d            }
|
j1                  d      r|
j3                  d      dk  rP|	j/                  d      }t4        j7                  |      }d}|rGt9        j:                  t+        j,                  dd|j/                  d            j=                               }t>        j7                  |      }|r*tA        |j/                  d      jC                  dd            nd}tD        j7                  |      }|r|j/                  d      nd}|jG                  |
jI                  d      d|
 |d|||dd       ] t        jK                  dtM        |             |S # 1 sw Y   xY w# t        $ r"}t        j                  d	|       g cY d}~S d}~ww xY w)z-Scrape trending repos from GitHub. Defensive.z	text/html)z
User-AgentAccept)headers)timeoutzutf-8replace)errorsNz github_trending fetch failed: %suG   github_trending: no repo blocks parsed — HTML layout may have changedz\s+ path/   after desc   ,zhttps://github.comgithub_trending)descriptionlanguage)titleurldatesourcescorerawzgithub_trending: %d items)'urllibrequestRequestTRENDING_URL
USER_AGENTurlopenTIMEOUT_SECONDSreaddecode	ExceptionlogwarninglistREPO_BLOCK_REfinditerdtdatetimenowtimezoneutc	isoformatresubgroup
startswithcountDESCRIPTION_REsearchhtmlunescapestripSTARS_TODAY_REintr   LANGUAGE_REappendlstripinfolen)sincer   reqrespbodyexcblocksnow_isoitemsblockr   r   
desc_matchr   stars_matchstars_today
lang_matchr   s                     8/root/aria/scripts/ai-radar/platforms/github_trending.pyfetchrS      s?   
..
 
 j\g7h
 
iC^^##C#A 	AT99;%%gi%@D	A -((./F]^	kkoobkkoo.88:GE
# vvfb%++f"56s#tzz#':G$#**51
--vsJ<L<LV<T(U([([(]^K$++E2DOc+++A.66sB?@UY ''.
*4:##A&$[[%'v.' *$

 
	2 HH(#e*5LO	A 	A 6<	s5   %J "I?5J ?J	J 	J7J2,J72J7__main__)level   )hours)rE   r   )indent)rE   zdt.datetimer   r?   returnz
list[dict])"__doc__
__future__r   r/   r.   r;   loggingr4   urllib.requestr   	getLogger__name__r)   r"   r#   r%   compile
IGNORECASEDOTALLr,   r9   r>   r@   rS   basicConfigINFOjsonr0   r1   r2   	timedeltarL   printdumps     rR   <module>rk      s$   8 "    	 g!P3


,MMBII
 3MMBII 7GbjjCD 35 +\ zGgll+8<2<<b;QQRE	*$**U1
%&	 rj   