
    i                     T    S r SSKJrJrJr  SSKJr   " S S\5      r " S S\5      rg	)
z&Extractors for https://architizer.com/   )GalleryExtractor	ExtractorMessage   )textc                   J    \ 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Srg)ArchitizerProjectExtractor   z-Extractor for project pages on architizer.com
architizerprojecthttps://architizer.com)z
{category}z{firm}z{title}z{filename}.{extension}z{gid}_{num}z0(?:https?://)?architizer\.com/projects/([^/?#]+)z%https://architizer.com/projects/NAME/c                 \    U R                    SUS    S3n[        R                  " XU5        g )N
/projects/r   /)rootr   __init__)selfmatchurls      L/app/mltbenv/lib/python3.13/site-packages/gallery_dl/extractor/architizer.pyr   #ArchitizerProjectExtractor.__init__   s,    :eAhZq1!!$s3    c                 6   [         R                  " U5      nU" SS5        U" SS5      U" SS5      U" SS5      R                  S5      S   U" S	S5      U" S
S5      R                  5       [         R                  " [         R
                  " U" SS5      5      5      [         R
                  " U" SS5      5      [         R
                  " U" SS5      5      [         R
                  " U" SS5      5      [         R                  " U" SS5      R                  SS5      5      S.
$ )Nz
id="Pages" zdata-name=''zdata-slug='z
data-gid='.r   zdata-firm-leaders-str='z<h2><z<div class="title">Type</div>z<brz<div class="title">STATUS</div>z</z<div class="title">YEAR</div>z<div class="title">SIZE</div>z<span class="copy js-copy">z</span></div>z<br />
)
titlesluggidfirmlocationtypestatusyearsizedescription)r   extract_from
rpartitionstripunescaperemove_htmlreplace)r   pageextrs      r   metadata#ArchitizerProjectExtractor.metadata   s     &\2  s3s3c2==cB1E 93?,224==)9)9$/;8 *9 :++D14-9 :++D/-7 8++D/-7 8==-*@4(*
 	
r   c                 b    [         R                  " USS5       Vs/ s H  nUS 4PM	     sn$ s  snf )Nz(property="og:image:secure_url" content="?)r   extract_iter)r   r/   r   s      r   images!ArchitizerProjectExtractor.images5   sG     ((@#G
G $KG
 	
 
s   , N)__name__
__module____qualname____firstlineno____doc__categorysubcategoryr   directory_fmtfilename_fmtarchive_fmtpatternexampler   r1   r6   __static_attributes__r8   r   r   r	   r	      s<    7HK#D7M+LKAG5G4
.
r   r	   c                   8    \ rS rSrSrSrSrSrSrSr	S r
S	 rS
rg)ArchitizerFirmExtractor=   z$Extractor for all projects of a firmr   r"   r   z-(?:https?://)?architizer\.com/firms/([^/?#]+)z"https://architizer.com/firms/NAME/c                 D    [         R                  " X5        US   U l        g )Nr   )r   r   r"   )r   r   s     r   r    ArchitizerFirmExtractor.__init__E   s    4'!H	r   c              #   B  #    U R                    SU R                   S3nU R                  U5      R                  nS[        0n[        R
                  " USS5       H@  nUR                  S5      (       a  M  U R                    SU 3n[        R                  X4v   MB     g 7f)Nz/firms/z/?requesting_merlin=pages
_extractorz<a href="/projects/"zq/r   )	r   r"   requestr   r	   r5   
startswithr   Queue)r   r   r/   datar   s        r   itemsArchitizerFirmExtractor.itemsI   s     yyk3LMc||C %%89((/DcJG%%d++:gY7mmS.. Ks   A/B5*B)r"   N)r9   r:   r;   r<   r=   r>   r?   r   rC   rD   r   rR   rE   r8   r   r   rG   rG   =   s(    .HK#D>G2G/r   rG   N)	r=   commonr   r   r   r   r   r	   rG   r8   r   r   <module>rU      s-    - 8 8 +
!1 +
\/i /r   