
    i*                         S r SSKJrJr  SSKJrJr  Sr " S S\5      r " S S	\5      r	 " S
 S\5      r
 " S S\5      rg)z"Extractors for https://fikfap.com/   )	ExtractorMessage   )text	exceptionz#(?:https?://)?(?:www\.)?fikfap\.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)FikfapExtractor   z Base class for fikfap extractorsfikfapzhttps://fikfap.comzhttps://api.fikfap.com)
{category}z{author[username]}z"{postId} {label[:240]}.{extension}z{postId}c              #   t  #    U R                   S-   U R                   SSSS.nU R                  5        H  nUR                  S5      =n(       a  [        R                  " U5      US'   OMUR                  S5      =n(       a  S	U-   nS
US'   SUS'   XS'   O!U R
                  R                  SUS   5        M  U R                  US   5      US'   U R                  US   5      US'   US    Vs/ s H  oDS   PM	     snUS'   US   US'   [        R                  SU4v   [        R                  X24v   M     g s  snf 7f)N/emptycorsz
cross-site)RefererOriginSec-Fetch-DestSec-Fetch-ModeSec-Fetch-SitevideoFileOriginalUrl	extensionvideoStreamUrlzytdl:mp4hls_ytdl_manifest_ytdl_manifest_headersz%s: No video availablepostId	createdAtdate	updatedAtdate_updatedhashtagslabeltagsfilename )rootpostsgetr   ext_from_urllogwarningparse_datetime_isor   	DirectoryUrl)selfheadersposturlts        H/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/fikfap.pyitemsFikfapExtractor.items   sE    "ii#o"ii%$*
 JJLDhh566s6$($5$5c$:[!!1222m$)[!).%&18-.  !94>J2243DEDL#'#:#:4;L#MD 04Z0@A0@1gJ0@ADL#G}D##R--++s((% ! Bs   C'D8)D37AD8c                 b    U R                  XU R                  S-   SSSU R                  SSSS.S9$ )	Nr   z$2527cc30-c3c5-41be-b8bb-104b6ea7a206falser   r   z	same-site)r   zAuthorization-Anonymous
IsLoggedInIsPWAr   r   r   r   )paramsr1   )request_jsonr'   )r0   r3   r<   s      r5   request_apiFikfapExtractor.request_api7   sC      "ii#o'M%%"ii%$)	>
  	 		     N)__name__
__module____qualname____firstlineno____doc__categoryr'   root_apidirectory_fmtfilename_fmtarchive_fmtr6   r>   __static_attributes__rA   r@   r5   r	   r	      s-    *HD'H8M7LK):
r@   r	   c                   ,    \ rS rSrSr\S-   rSrS rSr	g)FikfapPostExtractorD   r2   z/(?:user/[^/?#]+/)?post/(\d+)z'https://fikfap.com/user/USER/post/12345c                     U R                   S   nU R                   SU 3nU R                  US 5      nUS   [        U5      :X  a  U4$ [        R
                  " S5      e)N    z/posts/r   r2   )groupsrH   r>   intr   NotFoundError)r0   pidr3   r2   s       r5   r(   FikfapPostExtractor.postsI   s]    kk!nwse,T*>SX%7N%%f--r@   rA   N
rB   rC   rD   rE   subcategoryBASE_PATTERNpatternexampler(   rL   rA   r@   r5   rN   rN   D   s    K==G7G.r@   rN   c                   ,    \ rS rSrSr\S-   rSrS rSr	g)FikfapUserExtractorT   userz/user/([^/?#]+)zhttps://fikfap.com/user/USERc              #      #    U R                   S   nU R                   SU S3nSS0n U R                  X#5      nU S h  vN   [        U5      S:  a  g US   S   US	'   M8   N!7f)
NrQ   z/profile/username//postsamount21   r   afterId)rR   rH   r>   len)r0   r_   r3   r<   datas        r5   r(   FikfapUserExtractor.postsY   sx     {{1~1$v>D!##C0DOO4y2~ $R 2F9  s   =A#A! "A#rA   NrW   rA   r@   r5   r]   r]   T   s    K//G,G3r@   r]   c                   0    \ rS rSrSrSr\S-   rSrS r	Sr
g)	FikfapHashtagExtractori   hashtag)r   z	{hashtag}z/hash/([^/?#]+)zhttps://fikfap.com/hash/HASHc              #      #    U R                   S   =U R                  S'   nU R                   SU S3nSS0n U R                  X#5      nU S h  vN   [	        U5      S:  a  g US   S	   US
'   M8   N!7f)NrQ   rm   z/hashtags/label/ra   rb   rc   rd   re   r   rf   )rR   kwdictrH   r>   rg   )r0   rm   r3   r<   rh   s        r5   r(   FikfapHashtagExtractor.postso   s     +/;;q>9I/y?D!##C0DOO4y2~ $R 2F9  s   AA2A0"A2rA   N)rB   rC   rD   rE   rX   rI   rY   rZ   r[   r(   rL   rA   r@   r5   rk   rk   i   s!    K/M//G,G3r@   rk   N)rF   commonr   r   r&   r   r   rY   r	   rN   r]   rk   rA   r@   r5   <module>rr      sF    ) & 50i 0f./ . 3/ 3*3_ 3r@   