
    Nqh                         d dl m Z  d dlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ  G d	 d
e      Z G d de      Z G d de      Z G d de      Z G d de      Zy)    )copy)warn   )BUILTIN_FORMATSBUILTIN_FORMATS_MAX_SIZEBUILTIN_FORMATS_REVERSE)
StyleProxy)
StyleArray)
NamedStyle)stylesc                       e Zd Zd Zd Zd Zy)StyleDescriptorc                      || _         || _        y N)
collectionkey)selfr   r   s      Z/srv/www/ollama/chat-ollama/venv/lib/python3.12/site-packages/openpyxl/styles/styleable.py__init__zStyleDescriptor.__init__   s    $    c                     t        |j                  j                  | j                        }t        |d      st               |_        t        |j                  | j                  |j                  |             y N_style)getattrparentr   r
   r   setattrr   add)r   instancevaluecolls       r   __set__zStyleDescriptor.__set__   sK    x--t?x*(lHO488E?;r   c                     t        |j                  j                  | j                        }t        |d      st               |_        t        |j                  | j
                        }t        ||         S r   )r   r   r   r
   r   r   r	   )r   r   clsr    idxs        r   __get__zStyleDescriptor.__get__   sR    x--t?x*(lHOx1$s)$$r   N__name__
__module____qualname__r   r!   r%    r   r   r   r      s    <%r   r   c                        e Zd ZdZdZd Zd Zy)NumberFormatDescriptornumFmtId_number_formatsc                 $   t        |j                  j                  | j                        }|t        v r
t        |   }n|j	                  |      t
        z   }t        |d      st               |_        t        |j                  | j                  |       y r   )
r   r   r   r   r   r   r
   r   r   r   )r   r   r   r    r$   s        r   r!   zNumberFormatDescriptor.__set__+   si    x--t?++)%0C((5/$<<Cx*(lHO3/r   c                 "   t        |d      st               |_        t        |j                  | j                        }|t        k  rt        j                  |d      S t        |j                  j                  | j                        }||t        z
     S )Nr   General)	r   r
   r   r   r   r   getr   r   r   r   r#   r$   r    s        r   r%   zNumberFormatDescriptor.__get__7   sp    x*(lHOhootxx0))"&&sI66x--t?C2233r   Nr'   r(   r)   r   r   r!   r%   r*   r   r   r,   r,   &   s    
C"J	04r   r,   c                        e Zd ZdZdZd Zd Zy)NamedStyleDescriptorxfId_named_stylesc                    t        |d      st               |_        t        |j                  j                  | j                        }t        |t              r,|}||vr|j                  j                  j                  |       nh||j                  vrU|t        v r3t        |   }||vrE|j                  j                  j                  |       nt        dj                  |            ||   }t        |j                               |_        y )Nr   z{0} is not a known style)r   r
   r   r   r   
isinstancer   add_named_stylenamesr   
ValueErrorformatr   as_tuple)r   r   r   r    styles        r   r!   zNamedStyleDescriptor.__set__G   s    x*(lHOx--t?eZ(ED &&66u=$**$u$OO**::5A !;!B!B5!IJJKEu~~/0r   c                     t        |d      st               |_        t        |j                  | j                        }t        |j                  j                  | j
                        }|j                  |   S r   )r   r
   r   r   r   r   r<   r3   s        r   r%   zNamedStyleDescriptor.__get__[   sQ    x*(lHOhootxx0x--t?zz#r   Nr4   r*   r   r   r6   r6   A   s    
C J1(r   r6   c                       e Zd Zd Zd Zd Zy)StyleArrayDescriptorc                     || _         y r   )r   )r   r   s     r   r   zStyleArrayDescriptor.__init__e   s	    r   c                 |    |j                   t               |_         t        |j                   | j                  |       y r   )r   r
   r   r   )r   r   r   s      r   r!   zStyleArrayDescriptor.__set__h   s)    ??"(lHO51r   c                 n    |j                   yt        t        |j                   | j                              S NF)r   boolr   r   )r   r   r#   s      r   r%   zStyleArrayDescriptor.__get__n   s)    ??"GHOOTXX677r   Nr&   r*   r   r   rC   rC   c   s    28r   rC   c                       e Zd ZdZ edd      Z edd      Z edd      Z e       Z	 edd	      Z
 ed
d      Z e       Z ed      Z ed      ZdZddZed        Zed        Zy)StyleableObjectzQ
    Base class for styleble objects implementing proxy and lookup functions
    _fontsfontId_fillsfillId_bordersborderId_protectionsprotectionId_alignmentsalignmentIdquotePrefixpivotButton)r   r   Nc                 :    || _         |t        |      }|| _        y r   )r   r
   r   )r   sheetstyle_arrays      r   r   zStyleableObject.__init__   s     "$[1K!r   c                     | j                   t               | _         | j                  j                  j                  j	                  | j                         S r   )r   r
   r   _cell_stylesr   r   s    r   style_idzStyleableObject.style_id   s:    ;;$,DK{{!!..224;;??r   c                 F    | j                   yt        | j                         S rG   )r   anyr\   s    r   	has_stylezStyleableObject.has_style   s    ;;4;;r   r   )r'   r(   r)   __doc__r   fontfillborderr,   number_format
protection	alignmentr6   r@   rC   rU   rV   	__slots__r   propertyr]   r`   r*   r   r   rJ   rJ   t   s     8X.D8X.DZ4F*,M @J}=I "E&}5K&}5K$I" @ @    r   rJ   N)r   warningsr   numbersr   r   r   proxyr	   
cell_styler
   named_stylesr   builtinsr   objectr   r,   r6   rC   rJ   r*   r   r   <module>rq      sb      
  " $ %f %*4V 466 D86 8"# f # r   