
    i{                     j    S r SSKJrJr  SSKJrJr   " S S\5      r " S S\5      r " S	 S
\5      r	g)z(Extractors for https://www.imagebam.com/   )	ExtractorMessage   )text	exceptionc                   2    \ rS rSrSrSrSrS rS rS r	Sr
g	)
ImagebamExtractor   z"Base class for imagebam extractorsimagebamzhttps://www.imagebam.comc                 D    [         R                  " X5        US   U l        g )Nr   )r   __init__path)selfmatchs     J/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/imagebam.pyr   ImagebamExtractor.__init__   s    4'!H	    c                 p    U R                   R                  SSSS9  U R                   R                  SSSS9  g )N
nsfw_inter1zwww.imagebam.com)domain	sfw_inter)cookiesset)r   s    r   _initImagebamExtractor._init   s6    s3EFc2DEr   c                 ~   U R                  U R                  U-   5      R                  n[        R                  " USS5      u  p4U(       d  [        R
                  " S5      e[        R                  " [        R                  " USSU5      S   5      n[        R                  " USU-   UR                  S5      S   S	.5      $ )
Nz<img src="https://images"imagezalt="    zhttps://images/r   )url	image_key)	requestrootr   extractr   NotFoundErrorunescapenameext_from_name
rpartition)r   r   pager"   posfilenames         r   _parse_image_page#ImagebamExtractor._parse_image_page   s    ||DII,-22<<&@#F))'22==dGS#!Fq!IJ%%h)C/-a01
  	r   )r   N)__name__
__module____qualname____firstlineno____doc__categoryr%   r   r   r.   __static_attributes__ r   r   r	   r	      s    ,H%DF
r   r	   c                   B    \ 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Srg)ImagebamGalleryExtractor)   z Extractor for imagebam galleriesgallery)z
{category}z{title} {gallery_key}z {num:>03} {filename}.{extension}z{gallery_key}_{image_key}zG(?:https?://)?(?:www\.)?imagebam\.com(/(?:gallery/|view/G)[a-zA-Z0-9]+)z!https://www.imagebam.com/view/GIDc              #      #    U R                  U R                  U R                  -   SS9R                  nU R	                  U5      nUR                  5         U R                  U5      n[        U5      US'   U R                  R                  S5      S   US'   [        R                  SU4v   [        US5       HC  u  US	'   nU R                  U5      nUR                  U5        [        R                  US
   U4v   ME     g 7f)NT)notfoundcountr!   r   gallery_key r   numr"   )r$   r%   r   r   imagesreversemetadatalenr*   r   	Directory	enumerater.   updateUrl)r   r+   rB   datar   r   s         r   itemsImagebamGalleryExtractor.items3   s     ||DII		1D|AFFT"}}T"FW"ii2237:]T))!*61!5DK**40ELL++uU|U22 "6s   C<C>c                 z    S[         R                  " [         R                  " USS5      R                  5       5      0$ )Ntitlezid="gallery-name"><)r   r(   extrstrip)r   r+   s     r   rD   !ImagebamGalleryExtractor.metadataC   s4    tyy&(--2UW6 7 	7r   c                    [         R                  " S5      R                  n/ n X2" U5      -  nUR                  S5      nUS:  a=  [         R                  " USSU5      =n(       a  U R                  U5      R                   nM_  U$ )NzC<a href="https://www\.imagebam\.com(/(?:image/|view/M)[a-zA-Z0-9]+)zrel="next" aria-label="Nextr    zhref="r   )r   refindallfindrextrr$   )r   r+   rU   pathsr,   r"   s         r   rB   ImagebamGalleryExtractor.imagesG   s    '' > ??Fw 	WT]"E))9:CQw**T8S#>>3><<,11DLr   r7   N)r0   r1   r2   r3   r4   subcategorydirectory_fmtfilename_fmtarchive_fmtpatternexamplerK   rD   rB   r6   r7   r   r   r9   r9   )   s4    *K;M5L-K5G1G3 7r   r9   c                   .    \ rS rSrSrSrSrSrSrS r	Sr
g	)
ImagebamImageExtractorU   z$Extractor for single imagebam imagesr   z{image_key}zY(?:https?://)?(?:\w+\.)?imagebam\.com(/(?:image/|view/M|(?:[0-9a-f]{2}/){3})[a-zA-Z0-9]+)z!https://www.imagebam.com/view/MIDc              #      #    U R                   nUS   S:X  a  US   S:X  a  SOSUSS  -   nU R                  U5      n[        R                  SU4v   [        R                  US   U4v   g 7f)	N   r!   
   Mz/view/z/image/r@   r"   )r   r.   r   rF   rI   )r   r   r   s      r   rK   ImagebamImageExtractor.items]   sm     yy7c> $RCHY$rs)KD&&t,U**kk5<..s   A(A*r7   N)r0   r1   r2   r3   r4   rZ   r]   r^   r_   rK   r6   r7   r   r   ra   ra   U   s!    .KKGG1G/r   ra   N)
r4   commonr   r   r@   r   r   r	   r9   ra   r7   r   r   <module>ri      s7    / & 	 4)0 )X/. /r   