ó
šxŠ\c           @   s‚   d  Z  d d l Z d d l j Z d d l m Z m Z m Z d d l m Z d d l	 m
 Z
 m Z d d „ Z e d d „ Z d S(	   s    io on the clipboard iÿÿÿÿN(   t   PY2t   PY3t   StringIO(   t   ABCDataFrame(   t
   get_optiont   option_contexts   \s+c         K   s  | j  d d ƒ } | d k	 rK | j ƒ  j d d ƒ d k rK t d ƒ ‚ n  d d l m } d d	 l m } | ƒ  } t	 r¿ y. t
 j | d | j d ƒ p¡ t d
 ƒ ƒ} Wq¿ t k
 r» q¿ Xn  | d  j d ƒ d  d  } d „  | Dƒ } t | ƒ d k r)t | ƒ d k r)| j  ƒ  d k r)d }  n  |  d k rS| j d ƒ d k rSd }  n  t |  ƒ d k r‡| j d ƒ d k r‡d | d <n7 t |  ƒ d k r¾| j d ƒ d k r¾t j d ƒ n  | j d ƒ d k rët rë| j d ƒ } n  | t | ƒ d |  | S(   s=  
    Read text from clipboard and pass to read_csv. See read_csv for the
    full argument list

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

    Returns
    -------
    parsed : DataFrame
    t   encodings   utf-8t   -t    t   utf8s3   reading from clipboard only supports utf-8 encodingiÿÿÿÿ(   t   clipboard_get(   t   read_csvs   display.encodingi'  s   
i
   c         S   s%   h  |  ] } | j  ƒ  j d  ƒ ’ q S(   s   	(   t   lstript   count(   t   .0t   x(    (    s3   lib/python2.7/site-packages/pandas/io/clipboards.pys	   <setcomp>>   s   	 i   i    s   	t   delim_whitespaces   \s+t   enginet   pythont   csH   read_clipboard with regex separator does not work properly with c enginet   sepN(   t   popt   Nonet   lowert   replacet   NotImplementedErrort   pandas.io.clipboardR
   t   pandas.io.parsersR   R   t   compatt   bytes_to_strt   getR   t   AttributeErrort   splitt   lent   warningst   warnR    t   encodeR   (   R   t   kwargsR   R
   R   t   textt   linest   counts(    (    s3   lib/python2.7/site-packages/pandas/io/clipboards.pyt   read_clipboard   s6    *	6	!	''c   	      K   sw  | j  d d ƒ } | d k	 rK | j ƒ  j d d ƒ d k rK t d ƒ ‚ n  d d l m } | d k rp t } n  | r
yp | d k rŽ d	 } n  t ƒ  } |  j	 | d
 | d d | | j
 ƒ  } t r× | j d ƒ } n  | | ƒ d SWq&t k
 rt j d ƒ q&Xn | d k	 r&t j d ƒ n  t |  t ƒ r]t d d ƒ  |  j |   } Wd QXn t |  ƒ } | | ƒ d S(   s¸  
    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 : boolean, 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 gtk or PyQt4 modules)
      - Windows:
      - OS X:
    R   s   utf-8R   R   R	   s&   clipboard only supports utf-8 encodingiÿÿÿÿ(   t   clipboard_sets   	R   NsA   to_clipboard in excel mode requires a single character separator.s6   to_clipboard with excel=False ignores the sep arguments   display.max_colwidthi?B (   R   R   R   R   t
   ValueErrorR   R*   t   TrueR   t   to_csvt   getvalueR    t   decodet	   TypeErrorR"   R#   t
   isinstanceR   R   t	   to_stringt   str(	   t   objt   excelR   R%   R   R*   t   bufR&   t   objstr(    (    s3   lib/python2.7/site-packages/pandas/io/clipboards.pyt   to_clipboardX   s4    *			
(   t   __doc__R"   t   pandas.compatR   R    R   R   t   pandas.core.dtypes.genericR   t   pandasR   R   R)   R,   R   R8   (    (    (    s3   lib/python2.7/site-packages/pandas/io/clipboards.pyt   <module>   s   L