
    i                     ~    S SK Jr  SSKJrJrJrJrJrJr  SSK	J
r
   " S S\5      r " S S\5      r " S	 S
\5      rg)   )InfoExtractor   )ExtractorErrorint_or_nonejoin_nonemptymake_archive_idparse_age_limit
remove_end)traverse_objc                   $    \ rS rSrS/rSrS rSrg)TV5UnisBaseIE   CAFc                    U R                  U5      R                  5       nU R                  SUS   SSU R                  < SU R	                  U5      < S30S9S   U R                     nUS	   nUc
  [        S
SS9eUR                  S5      S:X  az  UR                  S5      nUS:X  a  U R                  U R                  S9  UR                  S5      n[        [        SUS L=(       a    SU 3U=(       a    S[        US5       3SS95      eUS   nU R                  US   S   S   US5      u  pU[        SU5      /UU	S.[        US [        14S![        14S"S#[        14S$[        14S%[        14S&[        14S'S [        14S(S)[         14S*.5      E$ )+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"   r8   productvideor   r   media_idr'   r(   s
             E/app/mltbenv/lib/python3.13/site-packages/yt_dlp/extractor/tv5unis.py_real_extractTV5UnisBaseIE._real_extract   s   &&s+224%%,fQi< 	dnnV4=6 @ & !B C!B ++C!-F '= !FQUVV99\"&7799V$Dt|))D4G4G)HYYx(F *D ;}TF%;9R
63 789	"   #!EE+u%e,h? !01A8!L M"	

 7!C5) )C51se,'+7"0;-!@#2[M"B'3%8&0AB	% 	
 	
     N)__name__
__module____qualname____firstlineno__r>   _GEO_BYPASSrF   __static_attributes__rI   rH   rE   r   r      s    VNKG
rH   r   c            	       N    \ rS rSrSrSrSSSS/SS	S
SS.S./rSr\S 5       r	Sr
g)TV5UnisVideoIE[   z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)   r2   r,   r"   md5	info_dictproductByIdc                     SU S    3$ )Nzid: r   rI   )r8   s    rE   r;   TV5UnisVideoIE._gql_argsl   s    fQi[!!rH   rI   NrJ   rK   rL   rM   IE_NAME
_VALID_URL_TESTSr:   staticmethodr;   rO   rI   rH   rE   rQ   rQ   [   sQ    GMJD14!R S^
 F $O" "rH   rQ   c                       \ rS rSrSrSrSSSS/SS	S
SS0SSSSSSSSS.S.SSSS/SSSSS0SSS.S./rS r\S! 5       r	S"r
g#)$	TV5UnisIEq   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&   rW   r)   r2   r(   r,   r6   r+   r5   seasonr3   episoder4   rX   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&   rW   r)   r2   r(   r,   r+   productByRootProductSlugc                 V    SU S    S3nU S   (       a  USR                   " U SS  6 -  nU$ )NzrootProductSlug: "r   "r   z%, seasonNumber: {}, episodeNumber: {})format)r8   argss     rE   r;   TV5UnisIE._gql_args   s<    #F1I;a0!9;BBF12JOODrH   rI   Nr^   rI   rH   rE   rd   rd   q   s    G \J O14!R S)^i !!"!
	0 =14!R S&mi 
	-&FN 1O rH   rd   N)commonr   utilsr   r   r   r   r	   r
   utils.traversalr   r   rQ   rd   rI   rH   rE   <module>rz      s>    !  +K
M K
\"] ",1 1rH   