
    V|h                     j    S SK Jr  SSKJrJrJrJr   " S S\5      r " S S\5      r " S S	\5      r	g
)   )InfoExtractor   )int_or_noneparse_age_limitsmuggle_urltry_getc                        \ rS rSrS/rS rSrg)TV5UnisBaseIE
   CAc                    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	   S
   nSUUR                  S5      [        SU-   SU R                  05      [        [        US 5      5      UR                  S5      [        US 5      [        UR                  S5      5      [        UR                  S5      5      S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                     U S   S   $ )Nratingname xs    R/home/james-whalen/.local/lib/python3.13/site-packages/yt_dlp/extractor/tv5unis.py<lambda>-TV5UnisBaseIE._real_extract.<locals>.<lambda>,   s    AhKPVDW    tagsc                     U S   S   $ )N
collectionr   r   r   s    r   r   r   .   s    <1Ir    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)   r0   productmedia_ids        r   _real_extract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    r   N)__name__
__module____qualname____firstlineno__r5   r9   __static_attributes__r   r    r   r
   r
   
   s    VN%
r    r
   c                   J    \ rS rSrSrSrSrSSSSS	S
S.S.rSr\	S 5       r
Srg)TV5UnisVideoIE5   Fz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                     SU  3$ )Nzid: r   )r0   s    r   r3   TV5UnisVideoIE._gql_argsE   s    fXr    r   N)r;   r<   r=   r>   _WORKINGIE_NAME
_VALID_URL_TESTr2   staticmethodr3   r?   r   r    r   rA   rA   5   sH    HGKJC14 	
	E $O r    rA   c                   |    \ rS rSrSrSrSr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0SSS.S./rSr\	S 5       r
Srg )!	TV5UnisIEJ   F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 e5ee23a586c44612a56aad61accf16efrE   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:3rF      r   )r(   rG   r   description	subtitlesrH   r*   r!   r+   r,   r-   rI   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(   rG   r   r]   r^   rH   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)r0   argss     r   r3   TV5UnisIE._gql_argsq   s<    #F1I;a0!9;BBF12JOODr    r   N)r;   r<   r=   r>   rO   rP   rQ   _TESTSr2   rS   r3   r?   r   r    r   rU   rU   J   s    HG ZJM143 Ji !
& B14) \i !

% FB 1O r    rU   N)
commonr   utilsr   r   r   r   r
   rA   rU   r   r    r   <module>rj      s7    ! (
M (
V] *, ,r    