+
    \iE                         ^ RI t^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
 ^ RIHtHtHtHtHtHtHt ^ RIHt ^ RIHt  ! R R4      tR# )	    N)datetime	timedelta)
HTMLParser)CallableDictListMappingMatchTupleUnion)retrieve_url)prettyPrinterc                   r   a  ] tR t^t o RtRtRRRR/t ! R R]4      tV 3R lR lt	RV 3R	 lR
 llt
RtV tR# )eztvEZTVzhttps://eztvx.to/alltvc                   x   a  ] tR t^t o Rw  tttt V 3R lR ltV 3R lR lt	V 3R lR lt
V 3R lR ltR	tV tR
# )eztv.MyHtmlParserc                $   < V ^8  d   QhRS[ RR/# )   urlreturnNstr)format__classdict__s   ")/config/qBittorrent/nova3/engines/eztv.py__annotate__eztv.MyHtmlParser.__annotate__   s     	6 	6 	6 	6    c                   a \         P                  ! V 4       Wn        \        P                  ! 4       oR V3R lRV3R lRV3R lRV3R lRV3R	 l/V n        R
V n        / V n        R# )z(\d+)h\s+(\d+)mc                 l   < S\        \        V ^,          4      \        V ^,          4      R7      ,
          # )   )hoursminutesr   intmnows   &r   <lambda>,eztv.MyHtmlParser.__init__.<locals>.<lambda>!   s&    cIC!IWZ[\]^[_W`4a.ar!   z(\d+)d\s+(\d+)hc                 l   < S\        \        V ^,          4      \        V ^,          4      R7      ,
          # )r$   )daysr%   r'   r)   s   &r   r,   r-   "   s&    cI3qt9TWXYZ[X\T]4^.^r!   z(\d+)\s+weeks?c                 J   < S\        \        V ^,          4      R7      ,
          # )r$   )weeksr'   r)   s   &r   r,   r-   #   s    S93qt93M-Mr!   z
(\d+)\s+moc                 X   < S\        \        V ^,          4      ^,          R7      ,
          # )r$   r/   r'   r)   s   &r   r,   r-   $   s    yc!A$i"n/M)Mr!   z(\d+)\s+years?c                 X   < S\        \        V ^,          4      R,          R7      ,
          # )r$   im  r3   r'   r)   s   &r   r,   r-   %   s    S9#ad)c/3R-Rr!   FN)r   __init__r   r   r+   date_parsersin_table_rowcurrent_item)selfr   r+   s   &&@r   r5   eztv.MyHtmlParser.__init__   s\    %H,,.C"$a"$^!#MM!#RQD !&D35Dr!   c          	      d   < V ^8  d   QhRS[ RS[S[S[ S[S[ R3,          3,          ,          RR/# )r   tagattrsNr   )r   r   r   r   )r   r   s   "r   r   r    *   s@     	S 	Ss 	S4c5dCS>S8T3U 	SZ^ 	Sr!   c                   R  R lp\        V4      pVP                  R4      R8X  dz   VP                  R4      R8X  dd   RV n        / V n        RV P                  R&   RV P                  R&   RV P                  R	&   V P                  V P                  R
&   RV P                  R&   WP
                  8X  dG   V P                  '       d5   VP                  R4      R8X  d   VP                  R4      V P                  R&   WP
                  8X  d   V P                  '       dn   VP                  R4      R8X  dV   V P                  V! VR4      ,           V P                  R&   V! VR4      P                  R4      ^ ,          V P                  R&   R# R# R# R# )c                x    V ^8  d   QhR\         \        \        \        R3,          3,          R\        R\        /# )r   dNkeyr   )r	   r   r   )r   s   "r   r   7eztv.MyHtmlParser.handle_starttag.<locals>.__annotate__+   s4     : :'#uS$Y'7"78 :s :s :r!   c                 6    V P                  VR 4      pVe   V# R # ) )get)r@   rA   values   && r   getStr1eztv.MyHtmlParser.handle_starttag.<locals>.getStr+   s!    c2 % 1u9r9r!   classforum_header_bordernamehoverTseedsleechsize
engine_urlpub_datemagnethreflinkepinfo	desc_linktitlez (N)dictrE   r7   r8   r   Asplit)r9   r<   r=   rG   paramss   &&&  r   handle_starttag!eztv.MyHtmlParser.handle_starttag*   sR   : %[F

7#'<<

6*g5$(!$&!-/!!'*-/!!'*,.!!&)26((!!,/02!!*-vv)))fjj.AX.M,2JJv,>!!&)vv)))fjj.AX.M15F66<R1R!!+.,267,C,I,I$,OPQ,R!!&) /N) r!   c                $   < V ^8  d   QhRS[ RR/# )r   datar   Nr   )r   r   s   "r   r   r    D   s     	 	C 	D 	r!   c                   VP                  R R4      pV P                  '       dV   VP                  R4      '       g/   VP                  R4      '       g   VP                  R4      '       d   WP                  R&   R# V P                  '       d1   VP	                  4       '       d   \        V4      V P                  R&   R# V P                  '       ds   V P                  P                  4        FR  w  r#\        P                  ! W!4      pV'       g   K%  \        V! V4      P                  4       4      V P                  R&    R# 	  R# R# )	,rD   z KBz MBz GBrO   rM   rQ   N)replacer7   endswithr8   	isnumericr(   r6   itemsrematch	timestamp)r9   r`   patterncalcr*   s   &&   r   handle_dataeztv.MyHtmlParser.handle_dataD   s    <<R(D!!!u--u1E1EW\I]I],0!!&)"""t~~'7'7-0Y!!'*"""%)%6%6%<%<%>MG/Aq8;DG<M<M<O8P))*5	 &? #r!   c                $   < V ^8  d   QhRS[ RR/# )r   r<   r   Nr   )r   r   s   "r   r   r    T   s     	* 	*S 	*T 	*r!   c                    V P                   '       d1   WP                  8X  d   \        V P                  4       R V n         R# R# R# )FN)r7   TRr   r8   )r9   r<   s   &&r   handle_endtageztv.MyHtmlParser.handle_endtagT   s4       SGG^d//0$)! &4 r!   )r8   r6   r7   r   N)atdtrtable)__name__
__module____qualname____firstlineno__rZ   TDrp   TABLEr5   r]   rl   rq   __static_attributes____classdictcell__r   s   @r   MyHtmlParserr      s@     52r5-	6 	6	S 	S4	 	 	* 	*r!   r   c                &   < V ^8  d   QhRS[ RS[ /# )r   whatr   r   )r   r   s   "r   r   eztv.__annotate__Y   s      S S r!   c                   V P                    R VP                  RR4       2pRp \        W#R7      #   \         d    Rp\        P
                  P                  Y#RT/4      p \        P
                  P                  T4      pTP                  4       P                  R4      u #   \        P                  P                   d3   p\        RTP                   2\        P                  R	7        R
p?MR
p?ii ; i R# i ; i)z/search/z%20-s   layout=def_wlinks)request_datazFMozilla/5.0 (X11; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0z
User-Agentzutf-8zConnection error: )fileNrD   )r   rc   r   	TypeErrorurllibrequestRequesturlopenreaddecodeerrorURLErrorprintreasonsysstderr)r9   r   r   r`   
user_agentreqresponseerrnos   &&      r   do_queryeztv.do_queryY   s    
(4<<s#;"<=#	77 
	 bJ..((\:4NOCL5;^^5K5KC5P}}--g66<<(( L*5<<.9

KKL
	s9   1 /C9!=B!C9!C2 (C-(C9-C22C98C9c                *   < V ^8  d   QhRS[ RS[ RR/# )r   r   catr   Nr   )r   r   s   "r   r   r   j   s"      3 S T r!   c                    V P                  V4      pV P                  V P                  4      pVP                  V4       VP	                  4        R # )N)r   r   r   feedclose)r9   r   r   	eztv_htmleztv_parsers   &&&  r   searcheztv.searchj   s>    MM$'	''1#r!    N)r   )rw   rx   ry   rz   rK   r   supported_categoriesr   r   r   r   r}   r~   r   s   @r   r   r      sF     D
C!5$5@*z @*D "  r!   r   )http.clienthttprg   r   urllib.errorr   urllib.requestr   r   html.parserr   typingr   r   r   r	   r
   r   r   helpersr   novaprinterr   r   r   r!   r   <module>r      s7   
  	 
   ( " E E E   %] ]r!   