
    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://news.sankakucomplex.com/   )	ExtractorMessage   )textutilc                   &    \ rS rSrSrSrSrS rSrg)SankakucomplexExtractor   z(Base class for sankakucomplex extractorssankakucomplexzhttps://news.sankakucomplex.comc                 D    [         R                  " X5        US   U l        g )Nr   )r   __init__path)selfmatchs     P/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/sankakucomplex.pyr    SankakucomplexExtractor.__init__   s    4'!H	    )r   N)	__name__
__module____qualname____firstlineno____doc__categoryrootr   __static_attributes__ r   r   r	   r	      s    2H,Dr   r	   c                   H    \ 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Srg)SankakucomplexArticleExtractor   z1Extractor for articles on news.sankakucomplex.comarticle)z
{category}z{date:%Y-%m-%d} {title}z{filename}.{extension}z{date:%Y%m%d}_{filename}zL(?:https?://)?(?:news|www)\.sankakucomplex\.com/(\d\d\d\d/\d\d/\d\d/[^/?#]+)z0https://news.sankakucomplex.com/1970/01/01/TITLEc              #     #    U R                    SU R                   S3n[        R                  " U R	                  U5      R                  5      n[        R
                  " U" SS5      5      [        R
                  " U" SS5      5      U R                  U" SS5      5      S.nU" SS	5      n[        R                  " U" S
S5      5      S S S2   US'   U R                  U5      nU R                  SS5      (       a  XPR                  U5      -  nU R                  SS5      (       a  XPR                  U5      -  n[        U5      US'   [        R                  SU4v   [        US5       Hr  u  pa[        R                   " U5      nUS   S:X  a!  [        R"                  " U R                   U5      nXS'   XgS'   UR%                  U5        [        R&                  X4v   Mt     g 7f)N/z/?pg=Xzproperty="og:title" content=""z#property="og:description" content="z+property="article:published_time" content=")titledescriptiondatez<div class="entry-content">z
</article>z="meta-tags">z</div>r   tagsvideosTembedsFcount r       urlnum)r   r   r   extract_fromrequestunescapeparse_datetime_iso
split_html_extract_imagesconfig_extract_videos_extract_embedslenr   	Directory	enumeratenameext_from_urlurljoinupdateUrl)r   r-   extrdatacontentfilesr.   files           r   items$SankakucomplexArticleExtractor.items#   s    1TYYKv.  c!2!7!78==4c:<==:C@B22BCHJ
 4lCtOX'FG!LV$$W-;;x&&))'22E;;x''))'22EE
WT))!%+HC((-D1v}ll499c2KKKK++s(( ,s   GGc                     [         R                  " S5      R                  n[        R                  " [         R
                  " USS5      5       Vs/ s H  o2" SU5      PM     sn$ s  snf )Nz
-\d+x\d+\.zdata-lazy-src="r#   .)r   resubr   uniqueextract_iter)r   rA   orig_subr-   s       r   r4   .SankakucomplexArticleExtractor._extract_imagesB   s]    77=)-- KK))'3DcJK
K $'HS#K
 	
 
s   A$c                 L    [         R                  " S5      R                  U5      $ )Nz<source [^>]*src=[\"']([^\"']+)r   rH   findall)r   rA   s     r   r6   .SankakucomplexArticleExtractor._extract_videosI   s    ww9:BB7KKr   c                 ~    [         R                  " S5      R                  U5       Vs/ s H  nSU-   PM
     sn$ s  snf )Nz<iframe [^>]*src=[\"']([^\"']+)zytdl:rO   )r   rA   r-   s      r   r7   .SankakucomplexArticleExtractor._extract_embedsL   sB     GG67??H
H "GcMH
 	
 
s   :r   N)r   r   r   r   r   subcategorydirectory_fmtfilename_fmtarchive_fmtpatternexamplerD   r4   r6   r7   r   r   r   r   r   r      s:    ;K=M+L,K0G@G)>
L
r   r   c                   *    \ rS rSrSrSrSrSrS rSr	g)	SankakucomplexTagExtractorS   z;Extractor for sankakucomplex blog articles by tag or authortagzQ(?:https?://)?(?:news|www)\.sankakucomplex\.com/((?:tag|category|author)/[^/?#]+)z(https://news.sankakucomplex.com/tag/TAG/c              #   P  #    SnS[         0n U R                   SU R                   SU S3nU R                  USS9nUR                  S:  a  g [
        R                  " [        R                  " UR                  SS	5      5       H  n[        R                  X24v   M     US-  nM  7f)
Nr   
_extractorr"   z/page/F)fatali  zdata-direct="r#   )r   r   r   r0   status_coder   unique_sequencer   rK   r   Queue)r   pnumr@   r-   responses        r   rD    SankakucomplexTagExtractor.itemsZ   s     <=YYKq6$q9C||Cu|5H##s*++D,=,=MM?C-9 :mmS..: AID s   B$B&r   N)
r   r   r   r   r   rT   rX   rY   rD   r   r   r   r   r[   r[   S   s    EK5G8Gr   r[   N)
r   commonr   r   r+   r   r   r	   r   r[   r   r   r   <module>rh      s7    6 & i 7
%< 7
t!8 r   