
    VGh-                     :    d dl Z ddlmZ ddlmZ  G d de      Zy)    N   )InfoExtractor   )ExtractorErrorc                       e Zd ZdZdZdZd Zy)	TestURLIEz8 Allows addressing of the test cases as test:yout.*be_1 Fz6test(?:url)?:(?P<extractor>.*?)(?:_(?P<num>\d+|all))?$c           	        
 ddl m} | j                  |      j                  dd      \  
}
sdd|dS t	        j
                  
t        j                        } |       D cg c]   }|j                  |j                        s|" }}t        |      d	k(  rt        d

dd      t        |      dkD  r`t        
fd|D        d       xs t        
fd|D        d       }|s7t        dj                  dj                  d |D                    d      |d	   }t        |j                  d            }|dk(  rA| j!                  |D 	cg c]  }	| j#                  |	d   |       c}	||j                   d      S 	 |t%        |xs d	         }	| j)                  d|	d           | j#                  |	d   |      S c c}w c c}	w # t&        $ r" t        d|xs d	 dt        |       dd      w xY w)Nr   )gen_extractor_classes	extractornumz:test )idtitleurl)flagsr   zNo extractors matching z foundT)expectedc              3   z   K   | ]2  }|j                   j                         j                         k(  s/| 4 y wN)IE_NAMElower.0ieextractor_ids     a/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/testurl.py	<genexpr>z*TestURLIE._real_extract.<locals>.<genexpr>   s3      BJJ4D4D4F,J\J\J^4^s   0;;c              3      K   | ]D  }|j                   j                  d       d   j                         j                         k(  sA| F yw)+r   N)r   splitr   r   s     r   r   z*TestURLIE._real_extract.<locals>.<genexpr>   sD      BJJ4D4DS4I!4L4R4R4TXdXjXjXl4ls   AAAz&Found multiple matching extractors: {} c              3   4   K   | ]  }|j                     y wr   )r   )r   r   s     r   r   z*TestURLIE._real_extract.<locals>.<genexpr>!   s     Lv\^RZZLvs   allr   z testsz
Test case z not found, got only z
Test URL: )r   r
   _match_valid_urlgrouprecompile
IGNORECASEsearchr   lenr   nextformatjointupleget_testcasesplaylist_result
url_resultint
IndexError	to_screen)selfr   r
   r   rexematching_extractorsr   	testcasestcr   s             @r   _real_extractzTestURLIE._real_extract   s   + 11#6<<[%Pc!Bs;;jjR]];*?*A[QSZZPQPYPYEZq[["#q( #:<:J&!Q\`aa$%) 0  0 
 $<CCCHHLvbuLvDvw!# # ,A.I)11$78	%<''AJK2EI6K	))*&13 3	c3sxa=)B
 	BuI;/0r%y)44; \( L  	c SXAJ&;C	N;K6R]ac c	cs   " F:F:	F?<G +G/N)__name__
__module____qualname____doc__IE_DESC
_VALID_URLr:        r   r   r      s    BGJJ%5rB   r   )r%   commonr   utilsr   r   rA   rB   r   <module>rE      s    	 ! "+5 +5rB   