
    }j                     v    d dl mZ d dlmZ ddlmZ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str_or_none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        Q/root/.hermes/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   r2    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   r6   )xs    r   <lambda>z/SovietsClosetIE._real_extract.<locals>.<lambda>r   s    -8H8P r   numberdater   r/   r0   r-   r1   rG   )	_match_idr   _search_regexr   
url_resultr   r2   r   strgetr   )r   rH   r   webpagestatic_assets_baserT   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r3   r4   r5   
_VALID_URL_TESTSrg   r6   r   r   r8   r8   (   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   r8   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-WitcherrA   )r    r!      )rH   rJ   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]x  \  }	}
i | j                  d|
d    t        j                               | j                  t        |
d         |d   |j                  d      |	dz   |
j                  d            z }}	}
| j                  |||      S c c}
}	w )N/rO   rP   rQ   rR   globalgamesmiscc              3   P   K   | ]  }|d    j                         k(  s|  yw)slugN)lower).0rX   	game_slugs     r   	<genexpr>z8SovietsClosetPlaylistIE._real_extract.<locals>.<genexpr>   s%     XTd6l6H6H6Ji6WDXs   &&c              3   j   K   | ]*  }|j                  d d      j                         k(  s'| , yw)rx   rC   N)rd   ry   )rz   catcategory_slugs     r   r|   z8SovietsClosetPlaylistIE._real_extract.<locals>.<genexpr>   s.     nQSATAZAZA\`mAmns   (33subcategories    rx   rC   r   r   streamsz https://sovietscloset.com/video/r    )rV   r   r^   r_   )r`   endswithr   ra   r   ry   splitnextrd   	enumeraterb   r8   ie_keyr2   r   playlist_result)r   rH   playlist_idre   rf   sovietsclosetrX   categoryplaylist_titleirT   entriesr   r{   s               @@r   rg   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$VD\2d6lZbZfZfgmZn 1u&**V2D  F
 ; ; ##G[.II;s   A=GNrh   r6   r   r   rl   rl   w   s    QJ ;#& "$	
 A). "#	
 B). "#	
 C+< "$	
5"FH Jr   rl   N)bunnycdnr   commonr   utilsr   r   r   r	   r   r8   rl   r6   r   r   <module>r      sA      ! L L
- 
DL@) L@^FJ1 FJr   