U
    ºmœd„  ã                
   @   s4  d Z ddlZddlZzddlZW n ek
r8   dZY nX ddlZejfdd„Zdd„ Z	e
dk�r0ddlZejdd	�Zejd
ddd� ejdddd� ejdedddddddgdd� ejde d¡d�ejde d¡d�ejddddd œgd!d�ejd"ejd� ¡ ejdddge d¡d�d#gZe	ee ¡ ƒ dS )$zP
This script is used to generate test data for joblib/test/test_numpy_pickle.py
é    Nc                 C   s(   dd„ |   d¡D ƒ}d dd„ |D ƒ¡S )zÅNormalize joblib version by removing suffix.

    >>> get_joblib_version('0.8.4')
    '0.8.4'
    >>> get_joblib_version('0.8.4b1')
    '0.8.4'
    >>> get_joblib_version('0.9.dev0')
    '0.9'
    c                 S   s   g | ]}t  d |¡‘qS )z(\d+).*)ÚreÚmatch)Ú.0Zeach© r   ú]/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/joblib/test/data/create_numpy_pickle.pyÚ
<listcomp>   s   ÿz&get_joblib_version.<locals>.<listcomp>Ú.c                 S   s   g | ]}|d k	r|  d¡‘qS )Né   )Úgroup)r   Úmr   r   r   r      s      )ÚsplitÚjoin)Újoblib_versionÚmatchesr   r   r   Úget_joblib_version   s    
ÿr   c              
   C   s
  i }|j }|j}tƒ }d tj¡}d tj 	d¡d d… ¡}|rL|dkrLdnd}|r˜|dkrjd|d< d	}	n|d
f|d< d |¡}	|j
rœd|d< |d7 }nd}	d |||||	¡}
ztj| |
f|Ž W n4 tk
rö } ztd |
||¡ƒ W 5 d }~X Y nX td |
¡ƒ d S )Nz{0[0]}{0[1]}Ú r   é   ÚzlibZ_compressedTÚcompressz.gzé   z.pkl.{}r   Ú
cache_sizeZ_cache_sizez.pklzjoblib_{}{}_pickle_py{}_np{}{}zCError: cannot generate file '{}' with arguments '{}'. Error was: {}z!File '{}' generated successfully.)r   Úmethodr   ÚformatÚsysÚversion_infor   ÚnpÚ__version__r   r   ÚjoblibÚdumpÚ	ExceptionÚprint)Ú	to_pickleÚargsÚkwargsr   r   r   Ú
py_versionZnumpy_versionÚbodyÚ	extensionZpickle_filenameÚer   r   r   Úwrite_test_pickle!   sB    

    ÿ  ÿr(   Ú__main__zJoblib pickle data generator.)Údescriptionz--cache_sizeÚ
store_truez;Force creation of companion numpy files for pickled arrays.)ÚactionÚhelpz
--compresszGenerate compress pickles.z--methodr   ÚgzipÚbz2ÚxzÚlzmaZlz4zSet compression method.)ÚtypeÚdefaultÚchoicesr-   é   z<i8)Údtypez<f8r	   Úabcr   )ÚaÚbÚOé   u   C'est l'Ã©tÃ© !)Ú__doc__r   r   Únumpyr   ÚImportErrorr   r   r   r(   Ú__name__ÚargparseÚArgumentParserÚparserÚadd_argumentÚstrZaranger6   ÚarrayZuint8ÚtobytesÚmatrixr!   Ú
parse_argsr   r   r   r   Ú<module>   s<   
%
ÿÿ
þù	