3
���h�E �
@ s� d dl Z d dlZd dlZd dlZd dlmZ d dlmZ ddlm Z m
Z
ddlmZ ddl
mZ dd lmZmZ dd
lmZ ddd
�Zej� Zdd� Zdd� Zd dd�ZG dd� de�Zd!dd�Ze je je jd�Z d"dd�Z!d#dd�Z"dS )$� N)�glob)�BytesIO� )�backends�conventions� )�ArrayWriter)�auto_combine)�close_on_error�
is_remote_uri)�
basestringFc C s� |rbt | �rbydd l}d}W q� tk
r^ ydd l}d}W n tk
rX td��Y nX Y q�X nTydd l}d}W nB tk
r� ydd l}d}W n tk
r� td��Y nX Y nX |S )Nr �netcdf4�pydapzFnetCDF4 or pydap is required for accessing remote datasets via OPeNDAP�scipyzKcannot read or write netCDF files without netCDF4-python or scipy installed)r �netCDF4�ImportErrorr �
ValueErrorZscipy.io.netcdf)�path�allow_remoter �enginer r � r �3/tmp/pip-build-5_djhm0z/xray/xarray/backends/api.py�_get_default_engine s( r c C sV | j d�rd}nB|d kr$t| dd�}|dkr@t| �r:d}qRt}n|dkrNt}nd}|S )Nz.gzFT)r r
�h5netcdf)�endswithr r �_global_lock)�filenamer �lockr r r �
_default_lock, s
r c C s" |