
    yfv                     :    d dl mZ ddlmZmZmZ  G d de      Zy)   )InfoExtractor   )int_or_noneparse_filesizeparse_iso8601c                   :    e Zd ZdZdZdZdZddddd	d
dddZd Zy)UMGDeIEFzumg:dezUniversal Music DeutschlandzGhttps?://(?:www\.)?universal-music\.de/[^/]+/videos/[^/?#]+-(?P<id>\d+)zJhttps://www.universal-music.de/sido/videos/jedes-wort-ist-gold-wert-457803 ebd90f48c80dcc82f77251eb1902634f457803mp4zJedes Wort ist Gold werti7Z20171218)idexttitle	timestampupload_date)urlmd5	info_dictc           	           j                  |       j                  dddz  i      d   d   d   }|d   }d	d
j                  t                    z   dz   g }g  fd}|j	                  dg       D ]  }|j	                  d      }|j	                  d      }|r|dk(  r.|t        |j	                  d            t        |j	                  d            t        |j	                  d            d}	|j	                  d      }
|
dk(  r|j                  |	       |
dk(  s|j	                  d      }|r||	d<   |dk(  r ||        j                  |d      }|s|j                  d      }|dvrj                  |	        sdD ]
  } ||        |t        |j	                  d             t        |j	                  d!      d"      |d#S )$Nz#https://graphql.universal-music.de/queryz{
  universalMusic(channel:16) {
    video(id:%s) {
      headline
      formats {
        formatId
        url
        type
        width
        height
        mimeType
        fileSize
      }
      duration
      createdDate
    }
  }
})r   datauniversalMusicvideoheadlinezJhttp://mediadelivery.universal-music-services.de/vod/mp4:autofill/storage//z/content/%s/file/playlist.m3u8c           
      X    j                  j                  | z  dddd             y )Nr   m3u8_nativehlsF)m3u8_idfatal)extend_extract_m3u8_formats)	format_idformatshls_url_templateselfvideo_ids    6/usr/lib/python3/dist-packages/yt_dlp/extractor/umg.pyadd_m3u8_formatz.UMGDeIE._real_extract.<locals>.add_m3u8_format8   s4    NN455 9,huE 6 ; <    r%   r   mimeTypezapplication/mxfwidthheightfileSize)r   r-   r.   filesizetypeImageVideoformatIdr$   z	video/mp4F)r!   r   )   F    )ic  iD  i  durationcreatedDate )r   r   r7   r   
thumbnailsr%   )	_match_id_download_jsonjoinlistgetr   r   append_request_webpagereadr   )r'   r   
video_datar   r:   r*   ff_url	mime_typefmtf_typer$   urlh
first_byter%   r&   r(   s   `             @@@r)   _real_extractzUMGDeIE._real_extract   s$   >>#&((1 " # ) ( )( +),( -4)5
, :&gjmjrjrsw  yA  tB  kC  C  Ff  f
	<
 	2. 	(AEE%LEj)II)::$QUU7^4%aeeHo6*155+<=	C UU6]F !!#&7"EE*-	'0C$ K/'	2,,UHE,J!%1J!8 NN3'3	(4 , +		*+ #JNN:$>?&z~~m'DcJ$
 	
r+   N)	__name__
__module____qualname___WORKINGIE_NAMEIE_DESC
_VALID_URL_TESTrK    r+   r)   r	   r	   	   s=    HG+G[J[1/#%

EH
r+   r	   N)commonr   utilsr   r   r   r	   rT   r+   r)   <module>rW      s     ! Y
m Y
r+   