
    VGhl                     r    d dl mZ d dlmZ ddlmZmZmZ  G d de      Z G d de      Z	 G d	 d
e      Z
y)   )
BunnyCdnIE)InfoExtractor   )make_archive_idtry_getunified_timestampc                        e Zd ZddiZd Zd Zy)SovietsClosetBaseIERefererz!https://iframe.mediadelivery.net/c                 X    | j                  ||d| d      }| j                  ||d      S )NzDownloading z __NUXT_JSONP__)note__NUXT_JSONP__)_download_webpage_search_nuxt_data)selfnuxt_jsonp_urlvideo_idname
nuxt_jsonps        g/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/extractor/sovietscloset.pyparse_nuxt_jsonpz$SovietsClosetBaseIE.parse_nuxt_jsonp	   s;    ++NH\Z^Y__nKo+p
%%j(<LMM    c                     |}|r|dk7  r|d| z  }|r|d| z  }t        |      }||| j                  dd||dddd|||dS )	NMisc - z #SovietWomble"https://www.twitch.tv/SovietWombleTpublic)idtitlehttp_headersuploadercreatorrelease_timestamp	timestampuploader_iduploader_urlwas_liveavailabilityseriesseasonepisode_number)r   MEDIADELIVERY_REFERER)r   r   	game_namecategory_namer,   stream_dater    r%   s           r   
video_metazSovietsClosetBaseIE.video_meta   s}    ]f4s=/**Er.)**E%k2	  66&%!*")@$#,
 	
r   N)__name__
__module____qualname__r-   r   r1    r   r   r
   r
      s    &(KLN
r   r
   c            
       "   e Zd ZdZddi 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ddddd d!d"d#dgd$d%gd&d'd(d)i 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dddd0d d1d2d3dgd$d4gd&d'gZd5 Zy6)7SovietsClosetIEz<https?://(?:www\.)?sovietscloset\.com/video/(?P<id>[0-9]+)/?z$https://sovietscloset.com/video/1337 bd012b04b261725510ca5383074cdd55r   z$2f0cfbf4-3588-43a9-a7d6-7c9ea3755e67extmp4r    zThe Witcher #13	thumbnailzPre:^https?://.*\.b-cdn\.net/2f0cfbf4-3588-43a9-a7d6-7c9ea3755e67/thumbnail\.jpg$r"   r   r#   r$   iXrelease_date20170413r%   upload_dater&   r'   r   durationi`  r(   Tr)   r   r*   The Witcherr+   r      z
Episode 13 zsovietscloset 1337)r,   episodecreatorsdescription_old_archive_ids)urlmd5	info_dictz$https://sovietscloset.com/video/1105 89fa928f183893cb65a0b7be846d8a90z$c0e5e76f-3a93-40b4-bf01-12343c2eec5dzArma 3 - Zeus Games #5zPre:^https?://.*\.b-cdn\.net/c0e5e76f-3a93-40b4-bf01-12343c2eec5d/thumbnail\.jpg$iP}W20160420ie"  zArma 3z
Zeus Games   z	Episode 5zsovietscloset 1105c                    | j                  |      }| j                  ||      }| j                  d|d      }d| }| j                  | d| d|d      d   } | j                  d|d	    ft
        d
d| j                  ||d   d   t        |d t              |j                  d      |j                  d            dt        | |      giS )N(/_nuxt/static/\d+)staticAssetsBasehttps://sovietscloset.comz/video//payload.jsvideostreamz,https://iframe.mediadelivery.net/embed/5105/bunnyIdT)ieurl_transparentgamer   c                     | d   d   S )Nsubcategoryr   r5   )xs    r   <lambda>z/SovietsClosetIE._real_extract.<locals>.<lambda>r   s    -8H8P r   numberdater   r.   r/   r,   r0   rF   )	_match_idr   _search_regexr   
url_resultr   r1   r   strgetr   )r   rG   r   webpagestatic_assets_baserS   s         r   _real_extractzSovietsClosetIE._real_extracte   s   >>#&((h7!//0FQcd89K8LM&&*<)=WXJk'Z\dfmnowxt:6);L:MN@S]os@oo!VF^F-C%f.PRUV%zz(3FAS  U@ .dH=>@ 	@r   Nr2   r3   r4   
_VALID_URL_TESTSrf   r5   r   r   r7   r7   (   s	   PJ :5<u * p	
 N > $Z 
 Z z ~  D D D   -!" &#$ #%'+,!%9$:-	
: :5<u 1 N	
 p > $Z 
 Z z ~  D D D   (!" ,#$ #$&+,!%9$:-	
;9Fv@r   r7   c                   Z    e Zd ZdZ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Zd Zy)SovietsClosetPlaylistIEz=https?://(?:www\.)?sovietscloset\.com/(?!video)(?P<id>[^#?]+)z%https://sovietscloset.com/The-WitcherzThe-Witcherr@   )r   r       )rG   rI   playlist_mincountz+https://sovietscloset.com/Arma-3/Zeus-GameszArma-3/Zeus-GameszArma 3 - Zeus Games   z,https://sovietscloset.com/arma-3/zeus-games/zarma-3/zeus-gamesz-https://sovietscloset.com/Total-War-WarhammerzTotal-War-Warhammerz!Total War: Warhammer - Greenskins!   c                    | j                  |      }|j                  d      r|d d }| j                  ||      }| j                  d|d      }d| }| j	                  | d|d      d   }d|v r#|j                         j                  d      \  n|j                         d	t        fd
|D              }t        fd|d   D        |d   d         }|j                  dd      j                         xs |j                  d      xs }d	k7  r|d|j                  d      xs  z  }t        |d         D 	
cg c]o  \  }	}
i | j                  d|
d    t        j                               | j                  |
d   |d   |j                  d      |	dz   |
j                  d            q }}	}
| j                  |||      S c c}
}	w )N/rN   rO   rP   rQ   globalgamesmiscc              3   P   K   | ]  }|d    j                         k(  s|  yw)slugN)lower).0rW   	game_slugs     r   	<genexpr>z8SovietsClosetPlaylistIE._real_extract.<locals>.<genexpr>   s%     XTd6l6H6H6Ji6WDXs   &&c              3   j   K   | ]*  }|j                  d d      j                         k(  s'| , yw)rw   rB   N)rc   rx   )ry   catcategory_slugs     r   r{   z8SovietsClosetPlaylistIE._real_extract.<locals>.<genexpr>   s.     nQSATAZAZA\`mAmns   (33subcategories    rw   rB   r   r   streamsz https://sovietscloset.com/video/r   )rU   r   r]   r^   )r_   endswithr   r`   r   rx   splitnextrc   	enumeratera   r7   ie_keyr1   playlist_result)r   rG   playlist_idrd   re   sovietsclosetrW   categoryplaylist_titleirS   entriesr~   rz   s               @@r   rf   z%SovietsClosetPlaylistIE._real_extract   s   nnS)$%cr*K((k:!//0FQcd89K8LM--1C0DK.PR]_ghipq+'2'8'8':'@'@'E$I}#))+I"MX]XXn_(=n_-a02 VR0668IM&)6YF"HLL$8$IM#JKKN %Xi%89;
 a
oo @OTcTjTjTlom
oofX\\Z`Ma 1u&**V2D  F
 ; ; ##G[.II;s   A4GNrg   r5   r   r   rk   rk   w   s    QJ ;#& "$	
 A). "#	
 B). "#	
 C+< "$	
5"FH Jr   rk   N)bunnycdnr   commonr   utilsr   r   r   r
   r7   rk   r5   r   r   <module>r      sA      ! ? ?
- 
DL@) L@^FJ1 FJr   