
    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
g)z!Extractors for https://piczel.tv/   )	ExtractorMessage   )textz"(?:https?://)?(?:www\.)?piczel\.tvc                   F    \ rS rSrSrSrSrSrSrSr	\	r
S rS	 rSS
 jrSrg)PiczelExtractor   z Base class for piczel extractorspiczel)
{category}{user[username]}z-{category}_{id}_{title}_{num:>02}.{extension}z
{id}_{num}zhttps://piczel.tvc              #     #    U R                  5        GH,  nUS    Vs/ s H  o"S   (       d  M  US   PM     snUS'   U R                  US   5      US'   US   (       a  US   nUS	 [        U5      US'   [        R                  SU4v   [        U5       HT  u  US	'   nS
U;   a  US
	 UR                  U5        US   S   n[        R                  U[        R                  " XQ5      4v   MV     M  SUS'   [        R                  SU4v   SUS	'   US   S   n[        R                  U[        R                  " XQ5      4v   GM/     g s  snf 7f)Ntagstitle
created_atdatemultiimagescount numidimageurlr       )
postsparse_datetime_isolenr   	Directory	enumerateupdateUrlr   nameext_from_url)selfposttr   r   r   s         H/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/piczel.pyitemsPiczelExtractor.items   s;    JJLD04VK1'
JAgJKDL2243EFDLG}hN #FW''T11*3F*;&DKu}!$KKK&w-.C!++sD,A,A#,LLL +< !"W''T11U7mE*kk3(=(=c(HHH+ !Ks   E
E	EDE
c                     g)z1Return an iterable with all relevant post objectsN )r#   s    r&   r   PiczelExtractor.posts2   s        c              #      #    SU0n U R                  XS9nUS    S h  vN   US   S   US'   US   (       d  g M4   N7f)Npage)paramsdatameta	next_page)request_json)r#   r   pnumr/   r0   s        r&   _paginationPiczelExtractor._pagination5   sW     $$$S$8DF|##!&\+6F6N&>  $s   ><>r*   N)r   )__name__
__module____qualname____firstlineno____doc__categorydirectory_fmtfilename_fmtarchive_fmtrootroot_apir'   r   r5   __static_attributes__r*   r,   r&   r   r      s4    *H6MBLKDHI0@
r,   r   c                   0    \ rS rSrSrSr\S-   rSrS r	Sr
g)	PiczelUserExtractorB   z.Extractor for all images from a user's galleryuserz/gallery/([^/?#]+)/?$zhttps://piczel.tv/gallery/USERc                 b    U R                    SU R                  S    S3nU R                  U5      $ )Nz/api/users/r   z/galleryrA   groupsr5   r#   r   s     r&   r   PiczelUserExtractor.postsH   s2    {4;;q>*:(C$$r,   r*   Nr7   r8   r9   r:   r;   subcategoryBASE_PATTERNpatternexampler   rB   r*   r,   r&   rD   rD   B   s    8K55G.G%r,   rD   c                   8    \ rS rSrSrSrSrSr\S-   r	Sr
S rS	rg
)PiczelFolderExtractorM   z+Extractor for images inside a user's folderfolder)r   r   z{folder[name]}zf{folder[id]}_{id}_{num}z /gallery/(?!image/)[^/?#]+/(\d+)z$https://piczel.tv/gallery/USER/12345c                 `    U R                    SU R                  S    3nU R                  U5      $ )Nz/api/gallery/folder/r   rH   rJ   s     r&   r   PiczelFolderExtractor.postsU   s1    3DKKN3CD$$r,   r*   N)r7   r8   r9   r:   r;   rM   r=   r?   rN   rO   rP   r   rB   r*   r,   r&   rR   rR   M   s)    5KHM,K@@G4G%r,   rR   c                   0    \ rS rSrSrSr\S-   rSrS r	Sr
g)	PiczelImageExtractorZ   zExtractor for individual imagesr   z/gallery/image/(\d+)z%https://piczel.tv/gallery/image/12345c                 b    U R                    SU R                  S    3nU R                  U5      4$ )Nz/api/gallery/r   )rA   rI   r3   rJ   s     r&   r   PiczelImageExtractor.posts`   s3    }T[[^,<=!!#&((r,   r*   NrL   r*   r,   r&   rX   rX   Z   s    )K44G5G)r,   rX   N)r;   commonr   r   r   r   rN   r   rD   rR   rX   r*   r,   r&   <module>r]      sF    ( & 4.i .b%/ %
%O 
%)? )r,   