+
    0jF                     v    R t ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHt  ! R R]]
,          4      tR# )	z/Duckduckgo videos search engine implementation.N)Mapping)AnyClassVar)BaseSearchEngine)VideosResult)_extract_vqdc                      a  ] tR t^t o RtRtRtRtRtRt	RRRRR	R	R
R
RRRRRRRRRRRRRRRRRR/t
V 3R lR l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# )DuckduckgoVideosz Duckduckgo videos search engine.
duckduckgovideosbingzhttps://duckduckgo.com/v.jsGETcontentdescriptionduration
embed_html	embed_urlimage_tokenimagesprovider	published	publisher
statisticstitleuploaderc                &   < V ^8  d   QhRS[ RS[ /# )   queryreturn)str)format__classdict__s   "s/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/ddgs/engines/duckduckgo_videos.py__annotate__DuckduckgoVideos.__annotate__&   s     1 1c 1c 1    c                l    V P                   P                  RRRV/R7      P                  p\        W!4      # )z2Get vqd value for a search query using DuckDuckGo.r   zhttps://duckduckgo.comq)params)http_clientrequestr   r   )selfr   resp_contents   && r"   _get_vqdDuckduckgoVideos._get_vqd&   s8    ''//7OY\^cXd/emmL00r%   c                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   r   region
safesearch	timelimitNpagekwargsr   )r   intdictr   )r    r!   s   "r"   r#   r$   +   s]        	
 :   
c3hr%   c                   RRRRRR/pV'       d   RV 2MRpVP                  R	4      pVP                  R
4      p	VP                  R4      p
V'       d   RV 2MRpV	'       d   RV	 2MRp	V
'       d   RV
 2MRp
RVRRRVRV P                  V4      RV RV RV	 RV
 2RWsP                  4       ,          /pV^8  d   V^,
          ^<,           VR&   V# )z'Build a payload for the search request.on1moderatez-1offz-2zpublishedAfter: 
resolutionr   license_videoszvideoDefinition:zvideoDuration:zvideoLicense:lojsonr'   vqdf,ps)getr-   lower)r+   r   r0   r1   r2   r3   r4   safesearch_baser=   r   r>   payloads   &&&&&&,     r"   build_payloadDuckduckgoVideos.build_payload+   s      j$tD5>oi[1B	ZZ-
::j)$458B'
|4
2:^H:.=K=(89QS4=='I;a
|1XJa7GH!1!1!34
 !8#ax2o.GCLr%   c                6   < V ^8  d   QhRS[ RS[S[,          /# )r   	html_textr   )r   listr   )r    r!   s   "r"   r#   r$   I   s        l1C r%   c                ,   \         P                  ! V4      pVP                  R. 4      p. pV Fc  p\        4       pV P                  P                  4        F'  w  rxVP                  V4      p	VP                  W4       K)  	  VP                  V4       Ke  	  V# )z&Extract search results from lxml tree.results)rA   loadsrG   r   elements_replaceitems__setattr__append)
r+   rN   	json_datarT   rQ   itemresultkeyvaluedatas
   &&        r"   extract_results DuckduckgoVideos.extract_resultsI   s    JJy)	i,D!^F"3399;
xx}""5/ < NN6"  r%   c                L   < V ^8  d   Qh/ S[ S[S[S[3,          ,          ;R&   # )r   rS   )r   r   r   )r    r!   s   "r"   r#   r$      s"      wsCx01  r%    N)   )__name__
__module____qualname____firstlineno____doc__namecategoryr   
search_urlsearch_methodrS   r-   rK   r]   __annotate_func____static_attributes____classdictcell__)r!   s   @r"   r	   r	      s     *DHH.JM 	9}Jl[}(J[[lJ5 1 1
 < {  r%   r	   )rf   rA   collections.abcr   typingr   r   	ddgs.baser   ddgs.resultsr   
ddgs.utilsr   r	   r`   r%   r"   <module>rs      s.    5  #   & % #H'5 Hr%   