o
    ‹¨Êh¼  ã                   @   s   d Z ddlZddlZddlmZ ejd dkZeoejd dk Zejd dkZer0ddl	m
Z
 nddlm
Z
 er_dd	lmZ dd	lmZ dd
lmZ ddlmZ ddlZG dd„ deƒZeZnddlmZmZ ddlmZ ddlmZ eZeZeZdd„ Zdd„ Zdd„ Zddd„Z dd„ Z!dS )z°
    pyexcel._compact
    ~~~~~~~~~~~~~~~~~~~

    Compatibles

    :copyright: (c) 2014-2017 by Onni Software Ltd.
    :license: New BSD License, see LICENSE for more details
é    N)Údedenté   é   é   é   )ÚOrderedDict)ÚStringIO)Úizip_longest)Úizipc                   @   s   e Zd ZdZdd„ ZdS )ÚIteratorzPython 2 iteratorc                 C   s   t | ƒ | ¡S )z!Iterator interface get next value)ÚtypeÚ__next__)Úself© r   úB/var/www/html/env/lib/python3.10/site-packages/pyexcel/_compact.pyÚnext)   s   zIterator.nextN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   &   s    r   )r   ÚBytesIO)Úzip_longestc                 C   s   t | tƒo	t| tƒS )z$check if all member were string type)Ú
isinstanceÚtupleÚis_array_typeÚstr)Úan_arrayr   r   r   Úis_tuple_consists_of_strings8   s   r   c                    s   ‡ fdd„| D ƒ}t |ƒdkS )z)check if all members are of the same typec                    s   g | ]	}t |ˆ ƒs|‘qS r   )r   )Ú.0Úi©Úatyper   r   Ú
<listcomp>?   s    z!is_array_type.<locals>.<listcomp>r   )Úlen)r   r!   Útmpr   r    r   r   =   s   r   c                 C   s    | t krdS tr| tkrdS dS )z find out if a type is str or notTF)r   ÚPY2Úunicoder    r   r   r   Ú	is_stringC   s   r'   úDeprecated!c                    s   ‡ ‡fdd„}|S )zPrint deprecated messagec                     s   t  ˆt¡ ˆ | i |¤ŽS )zPrint deperecated message)ÚwarningsÚwarnÚDeprecationWarning)ÚargÚkeywords©ÚfuncÚmessager   r   ÚinnerP   s   zdeprecated.<locals>.innerr   )r/   r0   r1   r   r.   r   Ú
deprecatedM   s   r2   c                    s   ‡ fdd„}|S )Nc                    s   t | jƒd ˆ  | _| S )NÚ
)r   r   )r/   ©Úvaluer   r   Ú_docY   s   zappend_doc.<locals>._docr   )r5   r6   r   r4   r   Ú
append_docX   s   r7   )r(   )"r   Úsysr)   Útextwrapr   Úversion_infor%   ÚPY26ÚPY3_AND_ABOVEÚordereddictr   Úcollectionsr   r   Ú	itertoolsr	   r   r
   ÚczipÚurllib2ÚrequestÚobjectr   ÚxrangeÚirangeÚioÚurllib.requestÚrangeÚzipr   r   r'   r2   r7   r   r   r   r   Ú<module>   s:    

