o
    ‹¨Êh¿  ã                   @   s,   d Z dZG dd„ deƒZdd„ Zdd„ ZdS )	z¸
    pyexcel.internal.common
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Defintion for the shared objects

    :copyright: (c) 2015-2017 by Onni Software Ltd.
    :license: New BSD License
z(Only sheet with column names is acceptedc                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚSheetIteratorz
    Sheet Iterator
    c                 C   s   || _ d| _d S )Né    )Úbook_reader_refÚcurrent)ÚselfÚ
bookreader© r   úI/var/www/html/env/lib/python3.10/site-packages/pyexcel/internal/common.pyÚ__init__   s   
zSheetIterator.__init__c                 C   s   | S ©Nr   ©r   r   r   r   Ú__iter__   s   zSheetIterator.__iter__c                 C   s   |   ¡ S r
   )Únextr   r   r   r   Ú__next__   s   zSheetIterator.__next__c                 C   s2   | j | j ¡ k r|  j d7  _ | j| j d  S t‚)zget next sheeté   )r   r   Únumber_of_sheetsÚStopIterationr   r   r   r   r      s   zSheetIterator.nextN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r	   r   r   r   r   r   r   r   r      s    r   c                 C   s@   ddl m} t| |ƒrt| jƒ}n| j}t|ƒdkrttƒ‚|S )Nr   )ÚSheetStream)	Úpyexcel.internal.generatorsr   Ú
isinstancer   ÚpayloadÚcolnamesÚlenÚ	ExceptionÚNO_COLUMN_NAMES)Úsheetr   Úheadersr   r   r   Úget_sheet_headers%   s   
r    c                 C   s\   ddl m} t| |ƒrdd„ | D ƒ}|S | D ]}t|jƒdkr$| d¡ qdd„ | D ƒ}|S )Nr   )Ú
BookStreamc                 S   s   g | ]}t |jƒ‘qS r   )r   r   ©Ú.0r   r   r   r   Ú
<listcomp>5   s    z-get_book_headers_in_array.<locals>.<listcomp>c                 S   s   g | ]}|j ‘qS r   )r   r"   r   r   r   r$   :   s    )r   r!   r   r   r   Úname_columns_by_row)Úbookr!   Úcolnames_arrayr   r   r   r   Úget_book_headers_in_array1   s   
ü
€r(   N)r   r   Úobjectr   r    r(   r   r   r   r   Ú<module>   s
    	