
    i                         S r SSKJrJr  SSKJr  Sr " S S\5      r " S S	\5      r " S
 S\5      r	 " S S\5      r
 " S S\5      rg)z!Extractors for https://cfake.com/   )	ExtractorMessage   )textz"(?:https?://)?(?:www\.)?cfake\.comc                   >    \ rS rSrSrSrSrSrSrSr	S r
S	 rS
 rSrg)CfakeExtractor   zBase class for cfake extractorscfakezhttps://cfake.com)z
{category}z{type}z{type_name} ({type_id})z'{category}_{type_name}_{id}.{extension}z{id}c              #   >  #    U R                   u  pp4nUR                  S5      (       a  US S S-   nU R                  nXS'   [        R                  " U5      US'   [        R
                  " U5      R                  SS5      US'   [        R                  " U5      US	'   [        R                  " US
5      =US'   n[        R                  S0 4v   U R                   SU SU SU 3nU(       a  U SU 3n US:  a  UOU SU 3nU R                  U5      R                  n	Sn
U R                  U	5       HC  nU
S
-  n
XS
-
  S-  -   US'   US   n[        R                  U[        R                  " X5      4v   ME     U
(       a  U R                  U	5      =n(       d  g XVS'   M  7f)Niesytypetype_id_ 	type_namesub_idr   page z/images//r   /p    2   numurl)groupsendswithkwdictr   	parse_intunquotereplacer   	Directoryrootrequest_extract_imagesUrlnameext_from_url_check_pagination)selfr   r   r   r   pnumr   baser   r   r   images               G/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/cfake.pyitemsCfakeExtractor.items   s    15.$==9s?Dv NN73y"ll95==c3G{>>&1x $tQ 77vR''))HTF!I;ayAV1VH%D($4&4&(9C<<$))D C--d3q"Qh"_4eElkk3(=(=c(III	 4 t'='=d'CCtC!6N s   FFc              #   &  #    [         R                  " USS5       H  n[         R                  " USS5      nU(       d  M$  [         R                  " USS5      n[         R                  " USS5      n[         R                  " USS	5      n[         R                  " US
S5      n[         R                  " USS5      nU R                   SU 3n	U	U(       a  [         R                  " U5      OSU(       a  [         R
                  " U5      OSUUS.v   M     g7f)z3Extract image URLs and metadata from a gallery pagez<a href="javascript:showimage(z</div></div>zshow=&zid_picture=zp_name='zid="date_vignette"></div>zclass="current-rating"z</li>zwidth:pxz/medias/photos/r   r   )r   idnamedateratingN)r   extract_iterextrr$   r    unescape)
r*   r   item
show_param
picture_id
name_paramr8   rating_textr9   	image_urls
             r.   r&   CfakeExtractor._extract_images:   s     %%6HD
 4#6J 4<J4C8J 99T#8(CD ))D*BGLKYY{Hd;F  99+_ZLAI !4>dnnZ0A5?j1R  1Hs   DDc                     [         R                  " USS5      nU(       d  g[         R                  " USS5      nU(       d  g[         R                  " U5      nU(       d  gUS-   nSU S3U;   d
  SU S	3U;   a  U$ g)
z9Check if there are more pages and return next page numberzid="num_page_current"r4   Nz">z</a>r   r   "r   )r   r;   r    )r*   r   current_sectioncurrent_page_strcurrent_page	next_pages         r.   r)    CfakeExtractor._check_pagination\   s     )))85  99_dFC~~&67 1$	 	{!$"YKq(9T(A     N)__name__
__module____qualname____firstlineno____doc__categoryr$   directory_fmtfilename_fmtarchive_fmtr/   r&   r)   __static_attributes__rL   rK   r.   r   r      s/    )HDGM<LK!"F DrK   r   c                   *    \ rS rSrSrSr\S-   rSrSr	g)CfakeCelebrityExtractorx   z6Extractor for celebrity image galleries from cfake.com	celebrityz1/images/(celebrity)/([^/?#]+)/(\d+)()(?:/p(\d+))?z+https://cfake.com/images/celebrity/NAME/123rL   N
rM   rN   rO   rP   rQ   subcategoryBASE_PATTERNpatternexamplerV   rL   rK   r.   rX   rX   x   s    @K 1 1G;GrK   rX   c                   *    \ rS rSrSrSr\S-   rSrSr	g)CfakeCategoryExtractor   z5Extractor for category image galleries from cfake.comrR   z2/images/(categories)/([^/?#]+)/(\d+)()(?:/p(\d+))?z,https://cfake.com/images/categories/NAME/123rL   Nr[   rL   rK   r.   ra   ra      s    ?K 1 1G<GrK   ra   c                   *    \ rS rSrSrSr\S-   rSrSr	g)CfakeCreatedExtractor   z6Extractor for 'created' image galleries from cfake.comcreatedz3/images/(created)/([^/?#]+)/(\d+)/(\d+)(?:/p(\d+))?z/https://cfake.com/images/created/NAME/12345/123rL   Nr[   rL   rK   r.   rd   rd      s    @K 5 5G?GrK   rd   c                   *    \ rS rSrSrSr\S-   rSrSr	g)CfakeCountryExtractor   z4Extractor for country image galleries from cfake.comcountryz3/images/(country)/([^/?#]+)/(\d+)/(\d+)(?:/p(\d+))?z/https://cfake.com/images/country/NAME/12345/123rL   Nr[   rL   rK   r.   rh   rh      s    >K 5 5G?GrK   rh   N)rQ   commonr   r   r   r   r]   r   rX   ra   rd   rh   rL   rK   r.   <module>rl      sX    ( & 4fY fR<n <=^ =@N @@N @rK   