
    Ği                         d dl mZ ddlmZmZmZmZmZmZ ddl	m
Z
  G d de          Z G d de          Z G d	 d
e          ZdS )   )InfoExtractor   )ExtractorErrorint_or_nonejoin_nonemptymake_archive_idparse_age_limit
remove_end)traverse_objc                       e Zd ZdgZdZd ZdS )TV5UnisBaseIECAFc                    |                      |                                          }|                     d|d         dd| j        d|                     |          di          d         | j                 }|d	         }|t          d
d          |                    d          dk    r|                    d          }|dk    r|                     | j                   |                    d          }t          t          d|d uod| |odt          |d           d                    |d         }|                     |d         d         d         |d          \  }}	|t          d|          g||	dt          |d t          hfd!t          hfd"d#t          hfd$t          hfd%t          hfd&t          hfd'd t          hfd(d)t           hfd*          S )+Nzhttps://api.tv5unis.ca/graphql    queryz{
  (a}  ) {
    title
    summary
    tags
    duration
    seasonNumber
    episodeNumber
    collection {
      title
    }
    rating {
      name
    }
    videoElement {
      __typename
      ... on Video {
        mediaId
        encodings {
          hls {
            url
          }
        }
      }
      ... on RestrictedVideo {
        code
        reason
      }
    }
  }
})r   datavideoElementz#This content is no longer availableT)expected
__typenameRestrictedVideocodei  )	countriesreasonzThis video is restrictedz, error code z: . )delimmediaId	encodingshlsurlmp4LimelightMedia)id_old_archive_idsformats	subtitlestitlesummarytags.durationseasonNumberepisodeNumber
collectionratingname)r(   descriptionr*   r+   season_numberepisode_numberseries	age_limit)_match_valid_urlgroups_download_json_GQL_QUERY_NAME	_gql_argsr   getraise_geo_restricted_GEO_COUNTRIESr   r
   #_extract_m3u8_formats_and_subtitlesr   r   strr   r	   )
selfr!   r7   productvideor   r   media_idr&   r'   s
             ]C:\Users\betacode\Desktop\descargarYoutube\venv\Lib\site-packages\yt_dlp/extractor/tv5unis.py_real_extractzTV5UnisBaseIE._real_extract   sM   &&s++2244%%,fQi< 	dnnV4444=6 @ & ! !B C!B +C!-F '= !FQUVVVV99\""&77799V$$Dt||))D4G)HHHYYx((F *D ;%;T%;%;99
63 7 799	" " "    #!EE+u%e,h? ? !01A8!L!L M"	
 

 7!C5) )C51se,'+7"0;-!@#2[M"B'3%8&0AB	% 	% 	 	
 	
    N)__name__
__module____qualname__r=   _GEO_BYPASSrE    rF   rD   r   r      s4        VNKG
 G
 G
 G
 G
rF   r   c            	       N    e Zd ZdZdZddddgddd	d
ddgZdZed             ZdS )TV5UnisVideoIEztv5unis:videoz9https?://(?:www\.)?tv5unis\.ca/videos/[^/?#]+/(?P<id>\d+)z3https://www.tv5unis.ca/videos/bande-annonces/144041 24a247c96119d77fe1bae8b440457dfa 56862325352147149dce0ae139afced6z/limelightmedia 56862325352147149dce0ae139afced6r"   Antigoneu@   re:En aidant son frère .+ dicté par l'amour et la solidarité.=   )r$   r%   extr(   r1   r+   r!   md5	info_dictproductByIdc                     d| d          S )Nzid: r   rK   )r7   s    rD   r:   zTV5UnisVideoIE._gql_argsl   s    !fQi!!!rF   N	rG   rH   rI   IE_NAME
_VALID_URL_TESTSr9   staticmethodr:   rK   rF   rD   rM   rM   [   st        GMJD14!R S^
 
  F $O" " \" " "rF   rM   c                       e Zd ZdZdZddddgddd	d
diddddddddddddddgdddd
diddddgZdZed              Zd!S )"	TV5UnisIEtv5uniszhttps?://(?:www\.)?tv5unis\.ca/videos/(?P<id>[^/?#]+)(?:/saisons/(?P<season_number>\d+)/episodes/(?P<episode_number>\d+))?/?(?:[?#&]|$)z=https://www.tv5unis.ca/videos/watatatow/saisons/11/episodes/1 43beebd47eefb1c5caf9a47a3fc35589 2c06e4af20f0417b86c2536825287690z/limelightmedia 2c06e4af20f0417b86c2536825287690r"   u   L'homme éléphantu@   re:Paul-André et Jean-Yves, .+ quand elle parle du feu au Spot.frzcount:1i     zcount:4	Watatatowz	Season 11   z	Episode 1r   )r$   r%   rR   r(   r1   r'   r+   r5   r*   r4   seasonr2   episoder3   rS   z+https://www.tv5unis.ca/videos/boite-a-savon 7898e868e8c540f03844660e0aab6bbe 4de6d0c6467b4511a0c04b92037a9f15z/limelightmedia 4de6d0c6467b4511a0c04b92037a9f15u   Boîte à savonuO   re:Dans le petit village de Broche-à-foin, .+ celle qui fait battre son coeur.i  zcount:5)r$   r%   rR   r(   r1   r'   r+   r*   productByRootProductSlugc                 X    d| d          d}| d         r| dj         | dd           z  }|S )NzrootProductSlug: "r   "r   z%, seasonNumber: {}, episodeNumber: {})format)r7   argss     rD   r:   zTV5UnisIE._gql_args   sF    0F1I000!9 	PB;BF122JOODrF   NrX   rK   rF   rD   r^   r^   q   s        G \J O14!R S)^i !!"!
 
	 0 =14!R S&mi 
 
	 -&FN 1O  \  rF   r^   N)commonr   utilsr   r   r   r   r	   r
   utils.traversalr   r   rM   r^   rK   rF   rD   <module>rr      s   ! ! ! ! ! !                + * * * * *K
 K
 K
 K
 K
M K
 K
 K
\" " " " "] " " ",1 1 1 1 1 1 1 1 1 1rF   