o
    ðäj	  ã                   @   s*   d dl m Z  ddlmZ G dd„ dƒZdS )é    )Úcopyé   )Ú	Worksheetc                   @   s8   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
d„ ZdS )ÚWorksheetCopyzš
    Copy the values, styles, dimensions, merged cells, margins, and
    print/page setup from one worksheet to another within the same
    workbook.
    c                 C   s   || _ || _|  ¡  d S ©N)ÚsourceÚtargetÚ_verify_resources)ÚselfÚsource_worksheetÚtarget_worksheet© r   ú]/var/www/ticemtrilhas/avaliacao_env/lib/python3.10/site-packages/openpyxl/worksheet/copier.pyÚ__init__   s   zWorksheetCopy.__init__c                 C   sP   t | jtƒst | jtƒstdƒ‚| j| ju rtdƒ‚| jj| jjkr&tdƒ‚d S )NzCan only copy worksheetsz!Cannot copy a worksheet to itselfz7Cannot copy between worksheets from different workbooks)Ú
isinstancer   r   r   Ú	TypeErrorÚ
ValueErrorÚparent©r
   r   r   r   r	      s   
ÿÿzWorksheetCopy._verify_resourcesc                 C   st   |   ¡  |  ¡  t| jjƒ| j_t| jjƒ| j_t| jjƒ| j_t| jjƒ| j_t| jj	ƒ| j_	t| jj
ƒ| j_
d S r   )Ú_copy_cellsÚ_copy_dimensionsr   r   Úsheet_formatr   Úsheet_propertiesÚmerged_cellsÚpage_marginsÚ
page_setupÚprint_optionsr   r   r   r   Úcopy_worksheet#   s   zWorksheetCopy.copy_worksheetc                 C   st   | j j ¡ D ]1\\}}}| jj||d�}|j|_|j|_|jr%t|j	ƒ|_	|j
r.t|j
ƒ|_|jr7t|jƒ|_qd S )N)ÚcolumnÚrow)r   Ú_cellsÚitemsr   ÚcellÚ_valueÚ	data_typeÚ	has_styler   Ú_styleÚ	hyperlinkÚ
_hyperlinkÚcomment)r
   r   ÚcolÚsource_cellÚtarget_cellr   r   r   r   /   s   €ózWorksheetCopy._copy_cellsc                 C   sP   dD ]#}t | j|ƒ}t | j|ƒ}| ¡ D ]\}}t|ƒ||< | j|| _qqd S )N)Úrow_dimensionsÚcolumn_dimensions)Úgetattrr   r   r!   r   Ú	worksheet)r
   ÚattrÚsrcr   ÚkeyÚdimr   r   r   r   @   s   þýzWorksheetCopy._copy_dimensionsN)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   r   r   r   r   r   r   r   r   	   s    r   N)r   r0   r   r   r   r   r   r   Ú<module>   s   