a
    oÝEba  ã                   @  sh   d Z ddlmZ ddlmZ ddlZddlmZ ddlm	Z	m
Z
 ddd	œd
d„Zdddddœdd„ZdS )z io on the clipboard é    )Úannotations)ÚStringION)ÚABCDataFrame)Ú
get_optionÚoption_contextú\s+Ústr)Úsepc           	      K  sž  |  dd¡}|dur0| ¡  dd¡dkr0tdƒ‚dd	lm} dd
lm} |ƒ }z| | 	d¡pdt
dƒ¡}W n ty|   Y n0 |dd…  d¡dd… dd… }dd„ |D ƒ}t|ƒdk�rt|ƒdk�r|  ¡ dk�rd} t|d ƒt|d  d¡ƒ }|dk�r| dtt|ƒƒ¡ | du �r6| 	d¡du �r6d} t| ƒdk�r^| 	d¡du �r^d|d< n(t| ƒdk�r†| 	d¡dk�r†t d¡ |t|ƒfd| i|¤ŽS )aj  
    Read text from clipboard and pass to read_csv.

    Parameters
    ----------
    sep : str, default '\s+'
        A string or regex delimiter. The default of '\s+' denotes
        one or more whitespace characters.

    **kwargs
        See read_csv for the full argument list.

    Returns
    -------
    DataFrame
        A parsed DataFrame object.
    Úencodingúutf-8Nú-Ú Úutf8z3reading from clipboard only supports utf-8 encodingr   )Úclipboard_get)Úread_csvzdisplay.encodingi'  Ú
éÿÿÿÿé
   c                 S  s   h | ]}|  d ¡ d¡’qS )ú ú	)ÚlstripÚcount)Ú.0Úx© r   úT/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/pandas/io/clipboards.pyÚ	<setcomp>?   ó    z!read_clipboard.<locals>.<setcomp>é   r   z 	Z	index_colZdelim_whitespacer   ZengineÚpythonÚczIread_clipboard with regex separator does not work properly with c engine.r	   )ÚpopÚlowerÚreplaceÚNotImplementedErrorÚpandas.io.clipboardr   Zpandas.io.parsersr   ÚdecodeÚgetr   ÚAttributeErrorÚsplitÚlenr   Ú
setdefaultÚlistÚrangeÚwarningsÚwarnr   )	r	   Úkwargsr
   r   r   ÚtextÚlinesÚcountsZindex_lengthr   r   r   Úread_clipboard   s4    "*

ÿr4   Tzbool | Nonez
str | NoneÚNone)Úexcelr	   Úreturnc           	      K  s  |  dd¡}|dur0| ¡  dd¡dkr0tdƒ‚dd	lm} |du rHd
}|r¬z@|du rZd}tƒ }| j|f|ddœ|¤Ž | ¡ }||ƒ W dS  t	y¨   t
 d¡ Y q¾0 n|dur¾t
 d¡ t| tƒ�rtddƒ�  | jf i |¤Ž}W d  ƒ n1 sú0    Y  nt| ƒ}||ƒ dS )a®  
    Attempt to write text representation of object to the system clipboard
    The clipboard can be then pasted into Excel for example.

    Parameters
    ----------
    obj : the object to write to the clipboard
    excel : bool, defaults to True
            if True, use the provided separator, writing in a csv
            format for allowing easy pasting into excel.
            if False, write a string representation of the object
            to the clipboard
    sep : optional, defaults to tab
    other keywords are passed to to_csv

    Notes
    -----
    Requirements for your platform
      - Linux: xclip, or xsel (with PyQt4 modules)
      - Windows:
      - OS X:
    r
   r   Nr   r   r   z&clipboard only supports utf-8 encodingr   )Úclipboard_setTr   )r	   r
   zAto_clipboard in excel mode requires a single character separator.z7to_clipboard with excel=False ignores the sep argument.zdisplay.max_colwidth)r!   r"   r#   Ú
ValueErrorr%   r8   r   Zto_csvÚgetvalueÚ	TypeErrorr.   r/   Ú
isinstancer   r   Z	to_stringr   )	Úobjr6   r	   r0   r
   r8   Úbufr1   Zobjstrr   r   r   Úto_clipboardX   s4    ÿ
0r?   )r   )TN)Ú__doc__Ú
__future__r   Úior   r.   Zpandas.core.dtypes.genericr   Zpandasr   r   r4   r?   r   r   r   r   Ú<module>   s   J ÿ