Ë
    6MJjx  ã                   ó¶   — d Z ddlZddlZddlmZ  ee«      j                  j                  «       Zedz  Z	e	dz  Z
e	dz  Zdeded	efd
„Zd„ Zedk(  r e«        yy)u_   æŠŠ 260630 çš„ comps.html æ”¹æˆ�å›¾ç‰‡/è§†é¢‘ç›´æŽ¥åµŒå…¥ï¼Œä¸�å†�ä¾�èµ– JS fetch media.jsonã€‚é    N)ÚPathÚvps_stagingz
comps.htmlz
media.jsonÚslugÚmediaÚreturnc                 ó®  — |j                  dg «      }|j                  d|«      }|j                  dg «      }|s|syt        t        ||«      «      }d}d}|d | D ]  \  }}	|d|› d|	› d	�z  }Œ |d
z  }t        |«      |kD  r8|dz  }||d  D ]  \  }}	|d|› d|	› d	�z  }Œ |d
z  }|dt        |«      |z
  › d�z  }|r|dz  }|D ]  }
|d|
› d�z  }Œ |d
z  }|S )NÚimagesÚ
thumbnailsÚvideosu.   <p class="placeholder">æš‚æ— ç…§ç‰‡/è§†é¢‘</p>é   z&<div class="gallery gallery-preview">
z            <img src="z/" loading="lazy" alt="" onclick="openLightbox('z')">
z          </div>
z-          <div class="gallery gallery-more">
uT             <button class="gallery-toggle" onclick="toggleGallery(this)">æ˜¾ç¤ºå‰©ä½™ u    å¼ ç…§ç‰‡</button>
z/          <div class="gallery gallery-videos">
z            <video src="z'" controls preload="metadata"></video>
)ÚgetÚlistÚzipÚlen)r   r   r	   r
   r   ÚpairsÚpreview_countÚhtmlÚthumbÚfullÚsrcs              ú./html_logs/fix_260630.pyÚrender_galleryr      s^  € Ø�Y‰Y�x Ó$€FØ—‘˜<¨Ó0€JØ�Y‰Y�x Ó$€FÙ™&Ø?ä”�Z Ó(Ó)€EØ€MØ4€DØ˜^˜mÓ,‰ˆˆtØÐ(¨¨Ð/_Ð`dÐ_eÐelÐmÑm‰ð -àÐ Ñ €Dä
ˆ5ƒz�MÒ!ØÐ@Ñ@ˆØ   Ó0‰KˆE�4ØÐ,¨U¨GÐ3cÐdhÐciÐipÐqÑq‰Dð 1àÐ$Ñ$ˆØÐfÔgjÐkpÓgqð  uBñ  hBð  gCð  CXð  Yñ  	YˆáØÐBÑBˆÛˆCØÐ.¨s¨eÐ3[Ð\Ñ\‰Dð àÐ$Ñ$ˆØ€Kó    c                  ó„  ‡— t        t        d¬«      5 } t        j                  | «      Šd d d «       t        j                  d¬«      }ˆfd„}t        j                  d||«      }d}t        j                  d||t        j                  ¬«      }t        j                  |d¬«       t        dt        › �«       y # 1 sw Y   ŒŽxY w)	Nzutf-8)Úencodingc                 ót   •— | j                  d«      }‰j                  |i «      }t        ||«      }d|› d|› d�S )Né   z&<div class="media-gallery" data-slug="z">
          z          </div>)Úgroupr   r   )Úmr   r   ÚgalÚ
media_datas       €r   Úreplzmain.<locals>.repl1   sB   ø€ Ø�w‰w�q‹zˆØ—‘˜t RÓ(ˆÜ˜T 5Ó)ˆØ7¸°v¸^ÈCÈ5ÐP`ÐaÐar   z5<div class="media-gallery" data-slug="([^"]+)"></div>uÁ    <script>
    function toggleGallery(btn) {
      const more = btn.previousElementSibling;
      more.classList.toggle('visible');
      const remaining = more.querySelectorAll('img').length;
      btn.textContent = more.classList.contains('visible')
        ? 'æ”¶èµ·ç…§ç‰‡'
        : `æ˜¾ç¤ºå‰©ä½™ ${remaining} å¼ ç…§ç‰‡`;
    }

    function openLightbox(src) {
      const box = document.getElementById('lightbox');
      document.getElementById('lightbox-img').src = src;
      box.classList.add('active');
    }

    document.querySelectorAll('tbody tr[data-href]').forEach(row => {
      row.addEventListener('click', () => {
        location.hash = row.dataset.href;
      });
    });
  </script>z  <script>.*?</script>)Úflagsu
   å·²æ›´æ–° )ÚopenÚ
MEDIA_JSONÚjsonÚloadÚHTMLÚ	read_textÚreÚsubÚDOTALLÚ
write_textÚprint)Úfr   r"   Ú
new_scriptr!   s       @r   Úmainr1   *   s�   ø€ Ü	Œj 7Õ	+¨qÜ—Y‘Y˜q“\ˆ
÷ 
,ô �>‰> 7ˆ>Ó+€Dôbô �6‰6Ø@ØØó€Dð€Jô. �6‰6Ð+¨Z¸ÄRÇYÁYÔO€Dä‡O�O�D 7€OÔ+Ü	ˆJ”t�fÐ
Õ÷] 
,Ð	+ús   “B6Â6B?Ú__main__)Ú__doc__r&   r*   Úpathlibr   Ú__file__ÚparentÚresolveÚBASEÚSTAGINGr(   r%   ÚstrÚdictr   r1   Ú__name__© r   r   Ú<module>r>      s{   ðá eÛ Û 	Ý áˆHƒ~×Ñ×$Ñ$Ó&€Ø
�Ñ
€Ø�Ñ€Ø�|Ñ#€
ð˜ð  Tð ¨có ò:/ðd ˆzÒÙ…Fð r   