HOME


sh-3ll 1.0
DIR:/usr/local/lib/python3.6/site-packages/xarray/core/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.6/site-packages/xarray/core/__pycache__/formatting.cpython-36.pyc
3

���h�#�@s2ddlmZmZddlZddlZddlZddlmZddl	m
Z
mZmZm
Z
dd�Zd7d	d
�Zdd�Zd
d�Zdd�Zd8dd�Zd9dd�Zdd�Zdd�Zd:dd�Zdd�Zdd �Zd!d"�Zd;d$d%�Zd<d&d'�Zd(Zd)d*�Zd=d+d,�Zej ed-ed.�Z!ej ed/ed.�Z"ej ed0ed.�Z#d1d2�Z$d3d4�Z%d5d6�Z&dS)>�)�datetime�	timedeltaN�)�OPTIONS)�	iteritems�unicode_type�
bytes_type�dask_array_typecCs@t|�}t|�|kr(|d|d�dS|d|t|�SdS)z�Given an object `x`, call `str(x)` and format the returned string so
    that it is numchars long, padding with trailing spaces or truncating with
    ellipses as necessary
    N�z...� )�str�len)�x�numchars�s�r�6/tmp/pip-build-5_djhm0z/xray/xarray/core/formatting.py�pretty_printsr�cCs8|dkrt|�}dd|}||jdd�|j�D��S)N�
rcss|]
}|VqdS)Nr)�.0rrrr�	<genexpr>szwrap_indent.<locals>.<genexpr>)r
�join�
splitlines)�text�start�length�indentrrr�wrap_indentsrcCs�d|kotj|�kns"t�tj|ddd��}tj||k�}ttjt|�tjd|f|��}dt	|�d|t
|�ft
d�f|}|S)Nrr���)r)�np�prod�AssertionErrorZcumprod�argmax�int�ceil�floatZr_r
�slice)�shape�	n_desiredZ	cum_itemsZn_steps�stop�indexerrrr�_get_indexer_at_least_n_itemss"$r,cCsP|dkrtd��|jdkrgS||jkr<t|j|�}||}tj|�jd|�S)z-Returns the first n_desired items of an arrayrzmust request at least one itemrN)�
ValueError�sizer,r(r �asarrayZflat)rr)r+rrr�
first_n_items(s

r0cCsPttj|��}y|j�\}}Wntk
r2|SX|dkr@|Sd||fSdS)zECast given object to a Timestamp and return a nicely formatted stringz00:00:00z%sT%sN)r�pdZ	Timestamp�splitr-)�tZdatetime_strZdate_str�time_strrrr�format_timestamp;sr5cCsZttj|��}y|jd�\}}Wntk
r4|SX|dkrF|dS|dkrR|S|SdS)zECast given object to a Timestamp and return a nicely formatted stringz days �datez days�timeN)rr1Z	Timedeltar2r-)r3�timedelta_formatZ
timedelta_strZdays_strr4rrr�format_timedeltaJsr9TcCsxt|tjtf�rt|�St|tjtf�r4t||d�St|tt	f�rR|rNt
|�S|St|ttjf�rldj|�St
|�SdS)z3Returns a succinct summary of an object as a string)r8z{0:.4}N)�
isinstancer Z
datetime64rr5�timedelta64rr9rr�reprr&�formatr)rr8Z
quote_stringsrrr�format_item[s
r>cs�tj|�}d�tj|jtj�r�tj|dd�}|tj|�jd�jd�}||k}|tjdd�k}tj|�j	�rtd�ntj|�j	�r�d��fd	d
�|D�}|S)zBReturns a succinct summaries of all items in a sequence as stringsrztimedelta64[ns])�dtypeztimedelta64[D]r�nsr7r6csg|]}t|���qSr)r>)r�xi)r8rr�
<listcomp>ysz format_items.<locals>.<listcomp>)
r r/Z
issubdtyper?r;r1ZisnullZastypeZlogical_not�all)rZday_partZtime_neededZ
day_needed�	formattedr)r8r�format_itemsis
rEc	Cs�tttj|d��d�}t||�}t|�}tjdd�|D��d}||jksX||kj�r�d}ttj	|t
|�|k�d�}|d|�}nd}dj|�|}|S)	z�Return a formatted string for as many items in the flattened version of
    items_ndarray that will fit within max_width characters
    g@rcSsg|]}t|�d�qS)r)r
)rrrrrrB�sz%format_array_flat.<locals>.<listcomp>z ...Nrr)�maxr$r r%r0rEZcumsumr.�anyr#r
r)	Z
items_ndarray�	max_widthZmax_possibly_relevantZrelevant_itemsZpprint_itemsZcum_lenZend_padding�countZ
pprint_strrrr�format_array_flat}s

rJrc
Csx|dkrtd}td||f|�}|jr>ddjtt|j��nd}||d|j}|rlt||t|��}	nd}	||	S)NZ
display_widthz  %s %s z(%s) z, rz%s z...)	rr�dimsr�maprr?rJr
)
�name�var�	col_width�show_values�markerrHZ	first_colZdims_strZ	front_strZ
values_strrrr�_summarize_var_or_coord�s rRcCs*|jjd�}|r&|jd�r&|jr&dSdS)zhHelper function to identify if array is positively identifiable as
    coming from a remote source.
    �source�httpFT)�encoding�get�
startswith�
_in_memory)rNrSrrr�_not_remote�srYcCst|�}t||||�S)N)rYrR)rMrNrOrPrrr�
summarize_var�srZcCs2||jk}|pt|�}|rdnd}t|||||�S)N�*r)rKrYrR)rMrNrOZis_indexrPrQrrr�summarize_coord�s
r\��cCs,t|�}t|�|kr(|d|d�d}|S)Nr
z...)rr
)�obj�maxlenrrrr�_maybe_truncate�sr`cCsd|t|�fS)Nz
    %s: %s)r`)�key�valuerOrrr�summarize_attr�srcz    *empty*cCs,|rtdd�|D��nd}t|d�d}|S)Ncss|]}tt|��VqdS)N)r
r)r�krrrr�sz'_calculate_col_width.<locals>.<genexpr>r��)rF)�mappingZmax_name_lengthrOrrr�_calculate_col_width�srhcsP�dkrt|��d|g}|r<|��fdd�|j�D�7}n
|tg7}dj|�S)Nz%s:csg|]\}}�||���qSrr)rrd�v)rO�
summarizerrrrB�sz!_mapping_repr.<locals>.<listcomp>r)rh�items�
EMPTY_REPRr)rg�titlerjrO�summaryr)rOrjr�
_mapping_repr�s

roZCoordinates)rmrjzData variablesZ
AttributescCs<g}x,|j�D] \}}|jtt|�d|��qWdj|�S)Nz%s: r)rk�appendrr<r)�indexesrnrdrirrr�indexes_repr�srrcCs�t|d�r |jdk	r d|j}nd}djdd�t|j|j�D��}dt|�j||fg}tt	|d|�j
t�r~|jt
|j��n8|js�|jd	kr�|jt
|j��n|jd
|j|jf�t|d�r�|jr�|jt
|j��|jr�|jt|j��dj|�S)
NrMz%r rz, css|]\}}d||fVqdS)z%s: %sNr)rrdrirrrr�szarray_repr.<locals>.<genexpr>z<xarray.%s %s(%s)>�variablegj�@z[%s values with dtype=%s]�coordsr)�hasattrrMr�ziprKr(�type�__name__r:�getattr�_datar	rpr<�datarXr.�valuesr?rt�attrs�
attrs_repr)ZarrZname_strZdim_summaryrnrrr�
array_repr�s$

rcCs�dt|�jg}t|�}td|�}dd�t|j�D�}|jd|dj|�f�|jt|j	|d��|jt
|j|d��|jr�|jt
|j��dj|�S)	Nz<xarray.%s>zDimensions:cSsg|]\}}d||f�qS)z%s: %sr)rrdrirrrrBsz dataset_repr.<locals>.<listcomp>z%s(%s)z, )rOr)rwrxrhrrrKrpr�coords_reprrt�	vars_reprZ	data_varsr}r~)ZdsrnrOZ
dims_startZall_dim_stringsrrr�dataset_reprs
r�)rN)N)NT)TrN)r])N)N)'rr�	functoolsZnumpyr Zpandasr1�optionsrZpycompatrrrr	rrr,r0r5r9r>rErJrRrYrZr\r`rcrlrhro�partialr�r�r~rrrr�rrrr�<module>sB