
    VGh                     j    d dl mZ ddlmZmZmZmZ  G d de      Z G d de      Z G d d	e      Z	y
)   )InfoExtractor   )int_or_noneparse_age_limitsmuggle_urltry_getc                       e Zd ZdgZd Zy)TV5UnisBaseIECAc                    | j                  |      j                         }| j                  d|d   dd| j                  d| j	                  |      di      d   | j                     }|d	   d
   }d||j                  d      t        d|z   d| j                  i      t        t        |d             |j                  d      t        |d       t        |j                  d            t        |j                  d            dd
S )Nzhttps://api.tv5unis.ca/graphql    queryz{
  (z) {
    collection {
      title
    }
    episodeNumber
    rating {
      name
    }
    seasonNumber
    tags
    title
    videoElement {
      ... on Video {
        mediaId
      }
    }
  }
})r   datavideoElementmediaIdurl_transparenttitlezlimelight:media:geo_countriesc                     | d   d   S )Nratingname xs    a/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/tv5unis.py<lambda>z-TV5UnisBaseIE._real_extract.<locals>.<lambda>,   s    AhKPVDW     tagsc                     | d   d   S )N
collectionr   r   r   s    r   r   z-TV5UnisBaseIE._real_extract.<locals>.<lambda>.   s    <1I r   seasonNumberepisodeNumberLimelightMedia)
_typeidr   url	age_limitr   seriesseason_numberepisode_numberie_key)_match_valid_urlgroups_download_json_GQL_QUERY_NAME	_gql_argsgetr   _GEO_COUNTRIESr   r   r   )selfr'   r.   productmedia_ids        r   _real_extractzTV5UnisBaseIE._real_extract   s   &&s+224%%,fQi$ 	dnnV4%6@ & * +* +++-, >*95 '[[)1H<PTPcPc>de(:W)XYKK'g'IJ(^)DE)'++o*FG&
 	
r   N)__name__
__module____qualname__r3   r7   r   r   r   r
   r
   
   s    VN%
r   r
   c                   >    e Zd ZdZdZddddddd	d
ZdZed        Zy)TV5UnisVideoIEztv5unis:videoz7https?://(?:www\.)?tv5unis\.ca/videos/[^/]+/(?P<id>\d+)z2https://www.tv5unis.ca/videos/bande-annonces/71843 3d794164928bda97fb87a17e89923d9b a883684aecb2486cad9bdc7bbe17f861mp4	WatatatowgQ$@)r&   extr   durationr'   md5	info_dictproductByIdc                     d|  S )Nzid: r   )r.   s    r   r1   zTV5UnisVideoIE._gql_argsD   s    fXr   N)	r8   r9   r:   IE_NAME
_VALID_URL_TESTr0   staticmethodr1   r   r   r   r<   r<   5   sC    GKJC14 	
	E $O r   r<   c                   p    e Zd ZdZdZddddddd	d
iddddddddddd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/6/episodes/1 a479907d2e531a73e1f8dc48d6388d02 e5ee23a586c44612a56aad61accf16efr?   u   Je ne peux pas lui résisteru   Atys, le nouveau concierge de l'école, a réussi à ébranler la confiance de Mado en affirmant qu'une médaille, ce n'est que du métal. Comme Mado essaie de lui prouver que ses valeurs sont solides, il veut la mettre à l'épreuve...frzcount:1iZ     zcount:3r@      r   )r&   rA   r   description	subtitlesrB   r(   r   r)   r*   r+   rC   z0https://www.tv5unis.ca/videos/le-voyage-de-fanny 9ca80ebb575c681d10cae1adff3d4774 726188eefe094d8faefb13381d42bc06zLe voyage de Fannyu   Fanny, 12 ans, cachée dans un foyer loin de ses parents, s'occupe de ses deux soeurs. Devant fuir, Fanny prend la tête d'un groupe de huit enfants et s'engage dans un dangereux périple à travers la France occupée pour rejoindre la frontière suisse.gX9ӵ@zcount:4)r&   rA   r   rT   rU   rB   r   productByRootProductSlugc                 L    d| d    d}| d   r| dj                   | dd   z  }|S )NzrootProductSlug: "r   "r   z%, seasonNumber: {}, episodeNumber: {})format)r.   argss     r   r1   zTV5UnisIE._gql_argso   s?    #F1I;a0!9B;BBF12JOODr   N)	r8   r9   r:   rH   rI   _TESTSr0   rK   r1   r   r   r   rM   rM   I   s    G ZJM143 Ji !
& B14) \i !

% FB 1O r   rM   N)
commonr   utilsr   r   r   r   r
   r<   rM   r   r   r   <module>r`      s7    ! (
M (
V] (+ +r   