HOME


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

���h�
�@spddlZddlmZddlmZmZmZddlm	Z	ddl
mZmZGdd	�d	e�Z
d
d�ZGdd
�d
e�ZdS)�N�)�Variable)�FrozenOrderedDict�Frozen�NDArrayMixin)�indexing�)�AbstractDataStore�robust_getitemc@s(eZdZdd�Zedd��Zdd�ZdS)�PydapArrayWrappercCs
||_dS)N)�array)�selfr�r�6/tmp/pip-build-5_djhm0z/xray/xarray/backends/pydap_.py�__init__szPydapArrayWrapper.__init__cCs@|jj}|jdkr&|jdkr&tjd�Stj|jt|j��SdS)N�S�O)r�type�size�typecode�np�dtype�str)r
�trrrrs
zPydapArrayWrapper.dtypecCs�t|t�s|f}x.|D]&}t|ttjtf�p2|tkstd��qWt|j	d|j	�}t
||td�}tdd�t|�D��}tj
||�}|S)NzApydap only supports indexing with int, slice and Ellipsis objectsr)Zcatchcss&|]\}}t|ttjf�r|VqdS)N)�
isinstance�intr�integer)�.0�n�krrr�	<genexpr>%sz0PydapArrayWrapper.__getitem__.<locals>.<genexpr>)r�tuplerrr�slice�Ellipsis�
IndexError�getattrrr
�
ValueError�	enumerateZsqueeze)r
�keyrr�resultZaxisrrr�__getitem__s

zPydapArrayWrapper.__getitem__N)�__name__�
__module__�__qualname__r�propertyrr*rrrrr
srcCsHt|�}x:t|�D].}|j�dks0|j�jd�r|j|j|��qW|S)N�globalZ_global)�dict�list�lower�endswith�update�pop)�
attributesrrrr�_fix_global_attributes+s
r7c@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
�PydapDataStorez�Store for accessing OpenDAP datasets with pydap.

    This store provides an alternative way to access OpenDAP datasets that may
    be useful if the netCDF4 library is not available.
    cCsddl}|jj|�|_dS)Nr)Zpydap.client�clientZopen_url�ds)r
�urlZpydaprrrr;szPydapDataStore.__init__cCstjt|��}t|j||j�S)N)rZLazilyIndexedArrayrr�
dimensionsr6)r
�var�datarrr�open_store_variable?sz"PydapDataStore.open_store_variablecst�fdd��jj�D��S)Nc3s |]\}}|�j|�fVqdS)N)r?)rr�v)r
rrr Dsz/PydapDataStore.get_variables.<locals>.<genexpr>)rr:�	iteritems)r
r)r
r�
get_variablesCszPydapDataStore.get_variablescCstt|jj��S)N)rr7r:r6)r
rrr�	get_attrsGszPydapDataStore.get_attrscCst|jj�S)N)rr:r<)r
rrr�get_dimensionsJszPydapDataStore.get_dimensionsN)	r+r,r-�__doc__rr?rBrCrDrrrrr85sr8)Znumpyr�rZ
core.utilsrrr�corer�commonr	r
rr7r8rrrr�<module>s!