U
    »mœdb  ã                   @   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 	ˆ ¡ nÂt
| ttfƒs†| g} | D ]¨}t|ƒsšt‚|j}||krÄtd|› dt| ¡ ƒ› �ƒ‚|| }‡ fd	d
„|D ƒ}|D ]N}tj |¡�r tdtj |¡d › d|› �ƒ t |¡ qâtd|› d�ƒ qâqŠd 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   úN/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/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   

/