
    =Ґ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y)   )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y)TV5UnisBaseIECAFc                    | j                  |      j                         }| j                  d|d   dd| j                  d| j	                  |      di      d   | j                     }|d	   }|t        d
d      |j                  d      dk(  ru|j                  d      }|dk(  r| j                  | j                         |j                  d      }t        t        d|d uxr d| |xr dt        |d       d            |d   }| j                  |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
             Q/var/www/descvideos/venv/lib/python3.12/site-packages/yt_dlp/extractor/tv5unis.py_real_extractz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__r=   _GEO_BYPASSrE    rF   rD   r   r      s    VNKG
rF   r   c            	       F    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y)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   [   sQ    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y!)"	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                 L    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   s?    #F1I;a0!9B;BBF12J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
M K
\"] ",1 1rF   