U
    $Pf                     @   sl   d dl mZ d dlZ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 )    )unicode_literalsN   )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   t | j| }| 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/graphqlr   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-7zdooeg3/youtube_dl/extractor/tv5unis.py<lambda>1       z-TV5UnisBaseIE._real_extract.<locals>.<lambda>tagsc                 S   s   | d d S )NZ
collectionr   r   r   r   r   r   r   3   r   ZseasonNumberZepisodeNumberZLimelightMedia)
_typeidr   url	age_limitr   seriesseason_numberepisode_numberZie_key)re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: %sr   )r!   r   r   r   r#   I   s    zTV5UnisVideoIE._gql_argsN)	r)   r*   r+   IE_NAMEr    Z_TESTr"   staticmethodr#   r   r   r   r   r,   :   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	subtitlesr0   r   r   r   r   r   r1   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   r9   r:   r0   r   ZproductByRootProductSlugc                 C   s,   d| d  }| d r(|d| dd   7 }|S )NzrootProductSlug: "%s"r   r   z%, seasonNumber: %s, episodeNumber: %sr   )r!   argsr   r   r   r#   t   s    zTV5UnisIE._gql_argsN)	r)   r*   r+   r3   r    Z_TESTSr"   r4   r#   r   r   r   r   r5   N   sH     !r5   )
__future__r   r   commonr   utilsr   r   r   r	   r
   r,   r5   r   r   r   r   <module>   s   +