U
    g                     @   sX   d dl mZ ddlmZmZmZmZ G dd deZG dd deZG dd	 d	eZ	d
S )   )InfoExtractor   )int_or_noneparse_age_limitsmuggle_urltry_getc                   @   s   e Zd ZdgZdd ZdS )TV5UnisBaseIECAc                 C   s   |  | }| jd|d dd| j| |f idd | j }|d d }d	||d
td| d| jitt	|dd |dt	|dd t
|dt
|ddd
S )Nzhttps://api.tv5unis.ca/graphql    queryz{
  %s(%s) {
    collection {
      title
    }
    episodeNumber
    rating {
      name
    }
    seasonNumber
    tags
    title
    videoElement {
      ... on Video {
        mediaId
      }
    }
  }
})r   dataZvideoElementZmediaIdZurl_transparenttitlezlimelight:media:Zgeo_countriesc                 S   s   | d d S )NZratingname xr   r   </tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/tv5unis.py<lambda>,       z-TV5UnisBaseIE._real_extract.<locals>.<lambda>tagsc                 S   s   | d d S )NZ
collectionr   r   r   r   r   r   r   .   r   ZseasonNumberZepisodeNumberZLimelightMedia)
_typeidr   url	age_limitr   seriesseason_numberepisode_numberZie_key)Z_match_valid_urlgroupsZ_download_json_GQL_QUERY_NAME	_gql_argsgetr   _GEO_COUNTRIESr   r   r   )selfr   r   productZmedia_idr   r   r   _real_extract   s4      zTV5UnisBaseIE._real_extractN)__name__
__module____qualname__r!   r$   r   r   r   r   r   
   s   r   c                   @   s:   e Zd ZdZdZddddddd	d
ZdZedd ZdS )TV5UnisVideoIEztv5unis:videoz7https?://(?:www\.)?tv5unis\.ca/videos/[^/]+/(?P<id>\d+)z2https://www.tv5unis.ca/videos/bande-annonces/71843Z 3d794164928bda97fb87a17e89923d9bZ a883684aecb2486cad9bdc7bbe17f861mp4	WatatatowgQ$@)r   extr   durationr   md5Z	info_dictZproductByIdc                 C   s
   d|  S )Nzid: r   )r   r   r   r   r   D   s    zTV5UnisVideoIE._gql_argsN)	r%   r&   r'   IE_NAME
_VALID_URLZ_TESTr   staticmethodr   r   r   r   r   r(   5   s   
r(   c                   @   sl   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d ZdS )	TV5UnisIEZ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/1Z a479907d2e531a73e1f8dc48d6388d02Z 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   r+   r   description	subtitlesr,   r   r   r   r   r   r-   z0https://www.tv5unis.ca/videos/le-voyage-de-fannyZ 9ca80ebb575c681d10cae1adff3d4774Z 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   r+   r   r6   r7   r,   r   ZproductByRootProductSlugc                 C   s2   d| d  d}| d r.|dj | dd   7 }|S )NzrootProductSlug: "r
   "r   z%, seasonNumber: {}, episodeNumber: {})format)r   argsr   r   r   r   o   s    zTV5UnisIE._gql_argsN)	r%   r&   r'   r/   r0   Z_TESTSr   r1   r   r   r   r   r   r2   I   sH     !r2   N)
commonr   utilsr   r   r   r   r   r(   r2   r   r   r   r   <module>   s   +