U
    Gvfb                     @   sZ   d dl Z d dlZddlmZ zd dlZW n ek
r@   dZY nX dddZd	ddZdS )
    N   )method_files_mapc                    s8  |d krt } d kr.td kr$tdtd tj sNtd  d d S | d krrtd  d t	  nt
| ttfs| g} | D ]}t|st|j}||krtd| dt|  || } fd	d
|D }|D ]N}tj|r tdtj|d  d|  t| qtd| d qqd S )NzsMissing optional dependency 'pooch' required for scipy.datasets module. Please use pip or conda to install 'pooch'.z
scipy-datazCache Directory z! doesn't exist. Nothing to clear.zCleaning the cache directory !zDataset method za doesn't exist. Please check if the passed dataset is a subset of the following dataset methods: c                    s   g | ]}t j |qS  )ospathjoin).0file	cache_dirr   9/tmp/pip-unpacked-wheel-96ln3f52/scipy/datasets/_utils.py
<listcomp>-   s   z _clear_cache.<locals>.<listcomp>zCleaning the file r   z for dataset zPath )r   appdirsImportErroruser_cache_dirr   r   existsprintshutilrmtree
isinstancelisttuplecallableAssertionError__name__
ValueErrorkeyssplitremove)datasetsr   Z
method_mapZdatasetZdataset_name
data_filesZdata_filepathsZdata_filepathr   r   r   _clear_cache   s8    

 r"   c                 C   s   t |  dS )ak  
    Cleans the scipy datasets cache directory.

    If a scipy.datasets method or a list/tuple of the same is
    provided, then clear_cache removes all the data files
    associated to the passed dataset method callable(s).

    By default, it removes all the cached data files.

    Parameters
    ----------
    datasets : callable or list/tuple of callable or None

    Examples
    --------
    >>> from scipy import datasets
    >>> ascent_array = datasets.ascent()
    >>> ascent_array.shape
    (512, 512)
    >>> datasets.clear_cache([datasets.ascent])
    Cleaning the file ascent.dat for dataset ascent
    N)r"   )r    r   r   r   clear_cache:   s    r#   )NN)N)r   r   	_registryr   r   r   r"   r#   r   r   r   r   <module>   s   

/