U
    g(                     @   sD   d dl mZ ddlmZmZmZmZ ddlmZ G dd deZ	dS )   )InfoExtractor   )int_or_nonemimetype2extparse_iso8601url_or_none)traverse_objc                   @   s  e Zd ZdZddddddgdd	d
ddddddddddddddddddddd	ddddgddddiddddddddddddg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dgdd	d#idd$d%d%dd&d'dddgdd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gdddd-idd.d/d/dd0d1dddddgdddddd	dd2igd3d4d5d6d7d8d9d:g d;d7d<d=d>d?d@dAddBdCdDdEdFdGdHdIdJdKdLdMdNg dOd'dBgZdPdQ ZdRS )SNinaProtocolIEz=https?://(?:www\.)?ninaprotocol\.com/releases/(?P<id>[^/#?]+)zRhttps://www.ninaprotocol.com/releases/3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJZ,3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJzThe Spatulas - March ChantZpunkZpostpresentmediumZ	cambridgeZ,2bGjgdKUddJoj2shYGqfNcUfoSoABP21RJoiwGMZDq3Appmz$md5:bb9f9d39d8f786449cd5d0ff7c5772dbzChttps://www.arweave.net/VyZA6CBeUuqP174khvSrD44Eosi3MLVyWN42uaQKg50iieZppmrecsZ,4ceG4zsb7VVxBTGPtZMqDZWGHo3VUg2xRvzC2b17ymWPzthe-spatulas-march-chantZ20231201zPost Present Medium )idtitletagsuploader_idchanneldescriptionalbum	thumbnail	timestampuploader
channel_id
display_idupload_datealbum_artist	info_dictZ.3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJ_1zMarch Chant In AprilZmp3   r   )r   r   trackextdurationtrack_numberr   r   r   r   r   r   r   r   r   r   Z.3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJ_2zRescue Mission   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z.3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJ_3zSlinger Style      )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z.3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJ_4zPsychic Signal      )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z.3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJ_5zCurvy Color      )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Z.3SvsMM3y4oTPZ5DXFJnLkCAqkxz34hjzFxqms1vu9XBJ_6zCaveman Stary      )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )urlr   playlistz;https://www.ninaprotocol.com/releases/f-g-s-american-shieldZ,76PZnJwaMgViQHYfA4NYJXds7CmW6vHQKAtQUxGene6Jz$md5:63f08d5db558b4b36e1896f317062721zF.G.S. - American ShieldZ,Ej3rozs11wYqFk1Gs6oggGCkGLz8GzBhmJfnUxf6gPciZ,6JuksCZPXuP16wJ1BUfwuukJzh42C7guhLrFPPkVJfyEZ
tinkscoughzF.G.S.zChttps://www.arweave.net/YJpgImkXLT9SbpFb576KuZ5pm6bdvs452LMs3Rx6lm8zf-g-s-american-shieldZflannerysilvaixeZ20231212)r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r(   r   Zplaylist_countz?https://www.ninaprotocol.com/releases/time-to-figure-things-outZ,6Zi1nC5hj6b13NkpxVYwRhFy6mYA7oLBbe9DMrgGDcYhztime-to-figure-things-outz$md5:960202ed01c3134bb8958f1008527e35iWҳez&DJ STEPDAD - time to figure things outz
DJ STEPDADZtddvsssZ20240126ztime to figure things outZ,AXQNRgTyYsySyAMFDwxzumuGjfmoXshorCesjpquwCBizChttps://www.arweave.net/O4i8bcKVqJVZvNeHHFp6r8knpFGh9ZwEgbeYacr4nss)r   r   r   r   r   r   r   r   r   r   r   r   c                 C   sb  |  |}| d| |d }|dp,|}t|dddthfddthfd	thfdd
thfddthfddthfddthfddthfddd}t|ddddthf|d< g }tt|ddddd fdD ]b\}}|| d| |d dt|dthfdthfdt	hfdt
hfdt
hfddd i| qd!||d"t|d#thfdd$thfdd%thfd&|S )'Nz)https://api.ninaprotocol.com/v1/releases/releaseZ	publicKeymetadataZ
propertiesr   ))hubdatapublisherAccountZdisplayNamedatetimeimager.   handler,   )r   r   r   r   r   r   r   r   F)get_allr   .filesc                 S   s   t |d S )Nuri)r   )_v r7   A/tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/ninaprotocol.py<lambda>       z.NinaProtocolIE._real_extract.<locals>.<lambda>r   r5   r4   )r   r(   Ztrack_titletyper   r   )r   r   r   r   r   Zvcodecnoner)   )_typer   entriesZslugnamer   )r   r   r   )Z	_match_idZ_download_jsongetr   strr   r   	enumerateappendr   r   )selfr(   Zvideo_idr*   Zcommon_infor>   Z	track_numr   r7   r7   r8   _real_extract   sr    
 





	
    

zNinaProtocolIE._real_extractN)__name__
__module____qualname__Z
_VALID_URLZ_TESTSrE   r7   r7   r7   r8   r	      sX     ,r	   N)
commonr   utilsr   r   r   r   Zutils.traversalr   r	   r7   r7   r7   r8   <module>   s   