
    	h                     `    S SK r S SKrS SKJr   \ R                  " S5      rS r " S S5      rg)    N)HeaderFooterz[\\*?:/\[\]]c                    U  Vs/ s H(  o"R                  5       UR                  5       :X  d  M&  UPM*     nnU(       a  SR                  U 5      n [        R                  " S[        R                  " U5       S3[        R
                  5      nUR                  U 5      nU(       a^  U VVs/ s H'  u  pgUR                  5       (       d  M  [        U5      PM)     nnnSn	U(       a  [        U5      n	SR                  XS-   5      nU$ s  snf s  snnf )z
Naive check to see whether name already exists.
If name does exist suggest a name using an incrementer
Duplicates are case insensitive
,z
(?P<title>z)(?P<count>\d*),?r   z{0}{1}   )lowerjoinrecompileescapeIfindallisdigitintmaxformat)
namesvaluenmatchsheet_title_regexmatchestidxcountshighests
             I/var/www/html/env/lib/python3.13/site-packages/openpyxl/workbook/child.pyavoid_duplicate_namer      s     <1ekkm!;QE<		% JJBIIe4D3EEW'XZ\Z^Z^_#++E2/6Hw8A#++-hc#hwFHGf+$$UaK8EL = Is   %DD(DDc                      \ rS rSrSrSrSrSrSrSS jr	S r
\S 5       r\S	 5       r\S
 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       rSrg)_WorkbookChild%    Nz{0}Sheetc                 b    Xl         U=(       d    U R                  U l        [        5       U l        g N)_parent_default_titletitler   )selfparentr'   s      r   __init___WorkbookChild.__init__-   s#    1d11
(N    c                 b    SR                  U R                  R                  U R                  5      $ )Nz<{0} "{1}">)r   	__class____name__r'   r(   s    r   __repr___WorkbookChild.__repr__3   s#    ##DNN$;$;TZZHHr,   c                     U R                   $ r$   )r%   r0   s    r   r)   _WorkbookChild.parent7       ||r,   c                 .    U R                   R                  $ r$   )r%   encodingr0   s    r   r7   _WorkbookChild.encoding<   s    ||$$$r,   c                     U R                   $ r$   )_WorkbookChild__titler0   s    r   r'   _WorkbookChild.titleA   r5   r,   c                 L   U R                   (       d  gU(       d  [        S5      e[        US5      (       a'  [        U[        5      (       d   UR                  S5      n[        R                  U5      nU(       a+  SR                  UR                  S5      5      n[        U5      eU R                  b0  U R                  U:w  a   [        U R                  R                  U5      n[        U5      S:  a  [         R"                  " S	5        Xl        g! [         a    [        S5      ef = f)
z
Set a sheet title, ensuring it is valid.
Limited to 31 characters, no special characters.
Duplicate titles will be incremented numerically
Nz&Title must have at least one characterdecodeasciizWorksheet titles must be strz*Invalid character {0} found in sheet titler      zTTitle is more than 31 characters. Some applications may not be able to read the file)r%   
ValueErrorhasattr
isinstancestrr=   UnicodeDecodeErrorINVALID_TITLE_REGEXsearchr   groupr'   r   r)   
sheetnameslenwarningswarnr:   )r(   r   mmsgs       r   r'   r;   F   s     ||EFF5(##eS))E!LL1E  &&u->EEaggajQCS/!::!djjE&9()?)?GEu:?MMpq * E$%CDDEs   D D#c                 .    U R                   R                  $ r$   r   	oddHeaderr0   s    r   rP   _WorkbookChild.oddHeaderh         ***r,   c                 $    XR                   l        g r$   rO   r(   r   s     r   rP   rQ   m       &+#r,   c                 .    U R                   R                  $ r$   r   	oddFooterr0   s    r   rX   _WorkbookChild.oddFooterr   rR   r,   c                 $    XR                   l        g r$   rW   rT   s     r   rX   rY   w   rU   r,   c                 .    U R                   R                  $ r$   r   
evenHeaderr0   s    r   r]   _WorkbookChild.evenHeader|         +++r,   c                 $    XR                   l        g r$   r\   rT   s     r   r]   r^          ',$r,   c                 .    U R                   R                  $ r$   r   
evenFooterr0   s    r   rd   _WorkbookChild.evenFooter   r_   r,   c                 $    XR                   l        g r$   rc   rT   s     r   rd   re      ra   r,   c                 .    U R                   R                  $ r$   r   firstHeaderr0   s    r   ri   _WorkbookChild.firstHeader         ,,,r,   c                 $    XR                   l        g r$   rh   rT   s     r   ri   rj          (-%r,   c                 .    U R                   R                  $ r$   r   firstFooterr0   s    r   rp   _WorkbookChild.firstFooter   rk   r,   c                 $    XR                   l        g r$   ro   rT   s     r   rp   rq      rm   r,   c                 L    U R                   R                  U R                  5      $ r$   )_pathr   _idr0   s    r   path_WorkbookChild.path   s    zz  **r,   )r   __titler%   r'   )NN)r/   
__module____qualname____firstlineno__r:   ru   rt   r%   r&   r*   r1   propertyr)   r7   r'   setterrP   rX   r]   rd   ri   rp   rv   __static_attributes__ r,   r   r   r   %   s   G
CEGN+I   % %   \\ B + + , , + + , , , , - - , , - - - - . . - - . . + +r,   r   )r	   rJ    openpyxl.worksheet.header_footerr   r
   rE   r   r   r   r,   r   <module>r      s7    
  9 jj1 ,A+ A+r,   