U
    g=                     @   s@   d dl mZ ddlmZmZmZmZmZmZ G dd deZ	dS )   )InfoExtractor   )ExtractorErrordetermine_extint_or_nonetraverse_objunescapeHTMLurl_or_nonec                   @   s~   e Zd ZdZdZdZdddddd	d
dgdgdeeedddddddddddddgdgdeeedddddgZdd Zd S )!	NineGagIEZ9gagZ9GAGz1https?://(?:www\.)?9gag\.com/gag/(?P<id>[^/?&#]+)zhttps://9gag.com/gag/ae5Ag7BZae5Ag7BwebmzCapybara Agility TrainingZ20191108iر]z6https://img-9gag-fun.9cache.com/photo/ae5Ag7B_460s.jpgZAwesome,   )idexttitleupload_date	timestamp	thumbnail
categoriestagsduration
like_countdislike_countcomment_count)urlZ	info_dictzhttps://9gag.com/gag/av5nvybT)r   Zonly_matchingzhttps://9gag.com/gag/ajgp66GZajgp66Gz&Master Shifu! Or Splinter! You decide:Z20220806ibz6https://img-9gag-fun.9cache.com/photo/ajgp66G_460s.jpgFunny   zPeter KlausZpeterklaus12zhttps://9gag.com/u/peterklaus12)r   r   r   r   r   r   r   r   r   r   r   r   uploaderuploader_iduploader_urlc                 C   s  |  |}| jd|d|idd d }|ddkr@tdd	d
d }g }g }|dpXi  D ]J\}}t|d}	|	s|q^t|	}
|d}|	t|dt|dd}|
dkr|d}|r|	 }|
|d |d || |
||
d || q^|
dkr^|s$t|d}|ddkr8dnd |d< dD ]J}||d }|s`qD|	 }|
|d | ||d || qD|
|
|d  || q^t|d!}d }|d"}|rg }|D ]$}|d#}|sq|| q|t|d$t|d%|t|d&t|d'tt|d(||t|d)t|d*t|d+|d,d-krld.nd |rz|gnd |d/S )0Nzhttps://9gag.com/v1/postr   )querydataposttypeZAnimatedz&The given url does not contain a videoT)expectedZimagesr   imagewidthheight)r   r%   r&   )ZjpgZpngZwebpUrlz-webp)r   r   )r   r   )r   Zmp4r   ZhasAudio    noneZacodec)Zvp8Zvp9Zh265Url-)	format_idr   vcodec)r   r+   )ZpostSectionnamer   keyr   Z
creationTs)creatorZfullName)r/   username)r/   Z
profileUrlZupVoteCountZdownVoteCountZcommentsCountZnsfwr      )r   r   r   r   r   r   r   formats
thumbnailsr   r   r   Z	age_limitr   r   )Z	_match_idZ_download_jsongetr   itemsr	   r   stripr   copyupdateappendr   r   )selfr   Zpost_idr!   r   r2   r3   r.   r$   Z	image_urlr   Zimage_idcommonZwebp_urltr,   Zc_urlZc_fsectionr   Z	post_tagstagZtag_key r?   </tmp/pip-unpacked-wheel-q5ljy6pj/yt_dlp/extractor/ninegag.py_real_extract;   s    
  







zNineGagIE._real_extractN)	__name__
__module____qualname__ZIE_NAMEZIE_DESCZ
_VALID_URLintZ_TESTSrA   r?   r?   r?   r@   r
      sR   *r
   N)
r;   r   utilsr   r   r   r   r   r	   r
   r?   r?   r?   r@   <module>   s    
