a
    ‡ù»jè  ã                   @   sX   d dl Z d dlZddlmZ zd dlZW n ey>   dZY n0 ddd„Zd	dd„ZdS )
é    Né   )Úmethod_files_mapc                    s8  |d u rt }ˆ d u r.td u r$tdƒ‚t d¡‰ tj ˆ ¡sNtdˆ › d�ƒ d S | d u rrtdˆ › d�ƒ t 	ˆ ¡ nÂt
| ttfƒs†| g} | D ]¨}t|ƒsšJ ‚|j}||v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   ú;E:\soccer\ml_env\Lib\site-packages\scipy/datasets/_utils.pyÚ
<listcomp>-   s   ÿz _clear_cache.<locals>.<listcomp>zCleaning the file r   z for dataset zPath )r   ÚplatformdirsÚImportErrorÚuser_cache_dirr   r   ÚexistsÚprintÚshutilÚrmtreeÚ
isinstanceÚlistÚtupleÚcallableÚ__name__Ú
ValueErrorÚkeysÚsplitÚremove)Údatasetsr   Z
method_mapZdatasetZdataset_nameÚ
data_filesZdata_filepathsZdata_filepathr   r   r   Ú_clear_cache   sD    


ý
ÿÿþ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   

/