U
    Nvf                  
   @   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 )zNormalize 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   H/tmp/pip-unpacked-wheel-dylwa62s/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
rd|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   Znumpyr   ImportErrorr   r   r   r(   __name__argparseArgumentParserparseradd_argumentstrZaranger6   arrayZuint8tobytesZmatrixr!   
parse_argsr   r   r   r   <module>   s<   
%

	