+
    0jW                         R t ^ RIt^ RIHt ^ RIHt ^ RIHtHtHt ^ RI	H
t
Ht ^ RIHt ^ RIHt ]P                   ! R]P"                  4      tR	 R
 lt ! R R]],          4      tR# )z Bing news engine implementation.N)Mapping)suppress)datetime	timedeltatimezone)AnyClassVar)BaseSearchEngine)
NewsResultuA   \b(\d+)\s*(days|tagen|jours|giorni|dias|días|дн\.|день)?\bc                0    V ^8  d   QhR\         R\         /# )   pub_date_strreturn)str)formats   "k/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/ddgs/engines/bing_news.py__annotate__r      s      s s     c                $   . ROpV Ff  p\        \        4      ;_uu_ 4        \        P                  ! W4      P	                  \
        P                  4      P                  4       uuRRR4       u # 	  \        P                  V 4      pV'       dn   \        VP                  ^4      4      p\        P                  ! \
        P                  4      \        VR7      ,
          P                  ^ R7      P                  4       # V #   + '       g   i     EK  ; i)zExtract date from string.N)days)microsecond)z%d.%m.%Yz%m/%d/%Yz%d/%m/%Y)r   
ValueErrorr   strptime
astimezoner   utc	isoformatDATE_REsearchintgroupnowr   replace)r   date_formatsdate_formatmatchdays_agos   &    r   extract_dater&      s     8L#j!!$$\?JJ8<<Xbbd "! $
 NN<(Eu{{1~&X\\*YH-EENN[\N]ggii  "!!s   AC==Dc                      a  ] tR t^!t o RtRtRtRtRtRt	Rt
RRR	R
RRRRRRRR/tRV 3R lR lltV 3R lR ltV 3R ltRtV tR# )BingNewszBing news engine.bingnewsz,https://www.bing.com/news/infinitescrollajaxGETz#//div[contains(@class, 'newsitem')]datez!.//span[@aria-label]//@aria-labeltitlez@data-titlebodyz .//div[@class='snippet']//text()urlz@urlimagez%.//a[contains(@class, 'image')]//@srcsourcez@data-authorc                h   < V ^8  d   QhRS[ RS[ RS[ RS[ R,          RS[RS[ RS[S[ S[3,          /# )	r   queryregion
safesearch	timelimitNpagekwargsr   )r   r   dictr   )r   __classdict__s   "r   r   BingNews.__annotate__5   s]        	
 :   
c3hr   c                    VP                  4       P                  R4      w  rxRVRRRV^
,          ^,            RV RVRV/p	V'       d   R	R
RRRRRR/V,          V	R&   V	# )z,Build a payload for the Bing search request.-qInfiniteScroll1firstSFXccsetlangdzinterval="4"wzinterval="7"mzinterval="9"yqft)lowersplit)
selfr3   r4   r5   r6   r7   r8   countrylangpayloads
   &&&&&&,   r   build_payloadBingNews.build_payload5   s     ,,S1cr	AdV't
 ^^^^	
 GEN r   c                F   < V ^8  d   QhRS[ S[,          RS[ S[,          /# )r   resultsr   )listr
   )r   r:   s   "r   r   r;   Q   s%      D,< jAQ r   c                    V F[  p\        VP                  4      Vn        VP                  '       d&   RVP                  P                  R4      ^ ,           2MRVn        K]  	  V# )zPost-process search results.zhttps://www.bing.com& )r&   r,   r0   rK   )rL   rS   results   && r   post_extract_resultsBingNews.post_extract_resultsQ   sU    F&v{{3FKRXR^R^R^1&,,2D2DS2I!2L1MNdfFL  r   c                L   < V ^8  d   Qh/ S[ S[S[S[3,          ,          ;R&   # )r   elements_xpath)r   r   r   )r   r:   s   "r   r   r;   !   s"      WS#X./  r    N)   )__name__
__module____qualname____firstlineno____doc__namecategoryprovider
search_urlsearch_methoditems_xpathr\   rP   rY   __annotate_func____static_attributes____classdictcell__)r:   s   @r   r(   r(   !   sj     DHH?JM7K32v8.3N 8 a  r   r(   )rc   recollections.abcr   
contextlibr   r   r   r   typingr   r   	ddgs.baser	   ddgs.resultsr
   compile
IGNORECASEr   r&   r(   r]   r   r   <module>ru      sO    & 	 #  2 2   & #
**Y[][h[h
i$5
+ 5r   