U
    g	                     @   sX   d dl Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZmZ G dd deZdS )	    N   )InfoExtractor   )	HTTPError)ExtractorErrorfloat_or_noneparse_iso8601strip_or_nonetraverse_objtry_geturljoinc                   @   s:   e Zd ZdZdddddddd	d
ded
dgZdd ZdS )CinetecaMilanoIEz6https?://(?:www\.)?cinetecamilano\.it/film/(?P<id>\d+)z'https://www.cinetecamilano.it/film/1942Z1942mp4u   Il draghetto Grisù (4 episodi)Z20220129z
re:.+\.pngz$md5:5328cbe080b93224712b6f17fcaf2c01Z20200520iC  ia)
idexttitleZrelease_date	thumbnaildescriptionZmodified_datedurationrelease_timestampmodified_timestamp)urlZ	info_dictc                 C   s2  |  |}z6| jd| d||t| ddd p4ddd}W nV tk
r } z8t|jtrj|jjd	ksxt|jt	j
r| jd
d  W 5 d }~X Y nX |dr|dstd|d }||dt|dt|dddt|dddt|dddt|t|dd | t|t|d|ddS )Nz+https://www.cinetecamilano.it/api/catalogo/z/?zhttps://www.cinetecamilano.itc                 S   s   d| d j  S )NzBearer z	cnt-token)valuex r   C/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/cinetecamilano.py<lambda>)       z0CinetecaMilanoIE._real_extract.<locals>.<lambda> )ZRefererAuthorization)headersi  cookies)methodsuccessarchivezVideo information not foundr   r   r   <   )ZinvscaleZ
updated_at )	delimiterZ
created_atc                 S   s   | d d  ddS )NZthumbsrcz/public/z	/storage/)replacer   r   r   r   r   ;   r   )ZdrmZhlsr   )r   r   r   r   r   r   r   formats)Z	_match_idZ_download_jsonr   Z_get_cookiesr   
isinstancecauser   statusjsonJSONDecodeErrorZraise_login_requiredgetr	   r   r   r   Z_extract_m3u8_formatsr
   )selfr   Zvideo_idZ	film_jsoner%   r   r   r   _real_extract"   s>    


  zCinetecaMilanoIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLintZ_TESTSr4   r   r   r   r   r      s   r   )r/   commonr   Znetworking.exceptionsr   utilsr   r   r   r	   r
   r   r   r   r   r   r   r   <module>   s   $