3
���h� � D @ sv d dl Z d dlZd dlmZ d dlZd dlmZ d dlm Z m
Z
mZ d dlm
Z
d dlmZ yd dlZW n ek
r� d dlZY nX yd dlZdZW n ek
r� dZY nX yd dlZdZW n ek
r� dZY nX yd dlZdZW n ek
�r dZY nX yd dlZdZW n ek
�r0 dZY nX yd dlZdZW n ek
�r\ dZY nX y&d dlZd dlZej ej!d � dZ"W n ek
�r� dZ"Y nX yd dl#Z#dZ$W n ek
�r� dZ$Y nX d
d� Z%dd
� Z&dd� Z'dd� Z(dd� Z)dd� Z*dd� Z+dd� Z,dd� Z-dd� Z.d,d d!�Z/G d"d#� d#ej0�Z0G d$d%� d%e1�Z2G d&d'� d'e j3�Z4G d(d)� d)e5�Z6d*d+� Z7dS )-� N)�contextmanager)�assert_array_equal)�utils�nputils�ops)�as_variable)�PY3TF)�getc C s t r| S tjd�| �S )Nzrequires scipy)� has_scipy�unittest�skip)�test� r �4/tmp/pip-build-5_djhm0z/xray/xarray/test/__init__.py�requires_scipyB s r c C s t r| S tjd�| �S )Nzrequires pydap.client)� has_pydapr r )r
r r r �requires_pydapF s r c C s t r| S tjd�| �S )Nzrequires netCDF4)�has_netCDF4r r )r
r r r �requires_netCDF4J s r c C s t r| S tjd�| �S )Nzrequires h5netcdf)�has_h5netcdfr r )r
r r r �requires_h5netcdfN s r c C s t r| S tjd�| �S )Nzrequires pynio)� has_pynior r )r
r r r �requires_pynioR s r c C s t str| S tjd�| �S )Nzrequires scipy or netCDF4)r
r r r )r
r r r �requires_scipy_or_netCDF4V s r c C s t r| S tjd�| �S )Nz
requires dask)�has_daskr r )r
r r r �
requires_dask[ s r c C s t r| S tjd�| �S )Nzrequires matplotlib)�has_matplotlibr r )r
r r r �requires_matplotlib_ s r c C sB t jd }t jd }d}|dkr,|dkr,d}|s4| S tjd�| �S )z'
Test won't work in Python 2.6
r � F� � Tzerror on Python 2.6)�sys�version_infor r )r
�major�minorZpy26r r r �incompatible_2_6c s
r% c C s" |