
    fh	                     8    d dl m Z  ddlmZ  G d d          ZdS )    )copy   )	Worksheetc                   0    e Zd ZdZd Zd Zd Zd Z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                 J    || _         || _        |                                  d S N)sourcetarget_verify_resources)selfsource_worksheettarget_worksheets      P/var/www/histauto/venv/lib/python3.11/site-packages/openpyxl/worksheet/copier.py__init__zWorksheetCopy.__init__   s(    &&         c                    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   s    r   r   zWorksheetCopy._verify_resources   s    4;	22 	8t{I66	86777;$+%%@AAA;!333VWWW 43r   c                    |                                   |                                  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   s    r   copy_worksheetzWorksheetCopy.copy_worksheet#   s    #'(@#A#A '+DK,H'I'I$#'(@#A#A #'(@#A#A !%dk&<!=!=$()B$C$C!!!r   c                 |   | j         j                                        D ]\  \  }}}| j                            ||          }|j        |_        |j        |_        |j        rt          |j	                  |_	        |j
        rt          |j
                  |_        |j        rt          |j                  |_        d S )N)columnrow)r
   _cellsitemsr   cell_value	data_type	has_styler   _style	hyperlink
_hyperlinkcomment)r   r%   colsource_celltarget_cells        r   r   zWorksheetCopy._copy_cells/   s    (,(:(@(@(B(B 	@ 	@#JS#+**#3*??K!,!3K$/$9K!$ >%)+*<%=%="$ E)-k.C)D)D&" @&*;+>&?&?#	@ 	@r   c                     dD ]j}t          | j        |          }t          | j        |          }|                                D ])\  }}t	          |          ||<   | j        ||         _        *kd S )N)row_dimensionscolumn_dimensions)getattrr
   r   r'   r   	worksheet)r   attrsrcr   keydims         r   r   zWorksheetCopy._copy_dimensions@   s}    ; 	4 	4D$+t,,CT[$//FIIKK 4 4S"3iis(,s%%4	4 	4r   N)	__name__
__module____qualname____doc__r   r   r"   r   r    r   r   r   r   	   sr         ! ! !
X 
X 
X	D 	D 	D@ @ @"4 4 4 4 4r   r   N)r   r7   r   r   r@   r   r   <module>rA      s]                     =4 =4 =4 =4 =4 =4 =4 =4 =4 =4r   