o
    [i                     @   s*   d dl m Z  d dlmZ G dd dZdS )    )copy)
deprecatedc                       sl   e Zd ZdZdZdd Zdd Zdd Z fd	d
Zdd Z	dd Z
eddd Zdd Zdd Z  ZS )
StyleProxyzA
    Proxy formatting objects so that they cannot be altered
    __targetc                 C   s
   || _ d S N_StyleProxy__target)selftarget r   M/home/air/sos/back/venv/lib/python3.10/site-packages/openpyxl/styles/proxy.py__init__      
zStyleProxy.__init__c                 C   
   t | jS r   )reprr   r	   r   r   r   __repr__   r   zStyleProxy.__repr__c                 C   s   t | j|S r   )getattrr   )r	   attrr   r   r   __getattr__   s   zStyleProxy.__getattr__c                    s"   |dkrt dt || d S )Nr   zPStyle objects are immutable and cannot be changed.Reassign the style with a copy)AttributeErrorsuper__setattr__)r	   r   value	__class__r   r   r      s   zStyleProxy.__setattr__c                 C   r   )z6
        Return a copy of the proxied object.
        )r   r   r   r   r   r   __copy__"      
zStyleProxy.__copy__c                 C   s
   | j | S )zW
        Add proxied object to another instance and return the combined object
        r   r	   otherr   r   r   __add__)   r   zStyleProxy.__add__z,Use copy(obj) or cell.obj = cell.obj + otherc                 K   s,   t | j}| D ]
\}}t||| q	|S )zHReturn a copy of the proxied object. Keyword args will be passed through)r   r   itemssetattr)r	   kwcpkvr   r   r   r   0   s   
zStyleProxy.copyc                 C   s
   | j |kS r   r   r   r   r   r   __eq__9   r   zStyleProxy.__eq__c                 C   s
   | |k S r   r   r   r   r   r   __ne__=   r   zStyleProxy.__ne__)__name__
__module____qualname____doc__	__slots__r   r   r   r   r   r    r   r   r'   r(   __classcell__r   r   r   r   r      s    
r   N)r   openpyxl.compatr   r   r   r   r   r   <module>   s   