o
    l¨Êh   ã                	   @   s*  d Z ddlZddlZzddlZW n ey   dZY nw ddlZejfdd„Zdd„ Z	e
dkr“d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g d¢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g d¢e d¡d�d gZe	ee ¡ ƒ dS 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)Ú.0Úeach© r   úV/var/www/html/env/lib/python3.10/site-packages/joblib/test/data/create_numpy_pickle.pyÚ
<listcomp>   s    ÿz&get_joblib_version.<locals>.<listcomp>Ú.c                 S   s   g | ]}|d u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… ¡}|r&|dkr&dnd}|rL|dkr5d|d< d	}	n|d
f|d< d |¡}	|j
rKd|d< |d7 }nd}	d |||||	¡}
ztj| |
fi |¤Ž W n ty } ztd |
||¡ƒ W Y d }~d S d }~ww td |
¡ƒ d S )Nz{0[0]}{0[1]}Ú r	   é   ÚzlibÚ_compressedTÚcompressz.gzé   z.pkl.{}r   Ú
cache_sizeÚ_cache_sizez.pklzjoblib_{}{}_pickle_py{}_np{}{}zCError: cannot generate file '{}' with arguments '{}'. Error was: {}z File '{}' generated successfuly.)r   Úmethodr   ÚformatÚsysÚversion_infor   ÚnpÚ__version__r   r   ÚjoblibÚdumpÚ	ExceptionÚprint)Ú	to_pickleÚargsÚkwargsr   r   r   Ú
py_versionÚnumpy_versionÚbodyÚ	extensionÚpickle_filenameÚer   r   r   Úwrite_test_pickle!   s<   
€
ÿ
ÿ€ý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   )r   ÚgzipÚbz2ÚxzÚlzmaÚlz4zSet compression method.)ÚtypeÚdefaultÚchoicesr2   é   z<i8)Údtypez<f8r
   Úabcr   )ÚaÚbÚOé   )r   r
   r   u   C'est l'Ã©tÃ© !)Ú__doc__r   r   Únumpyr   ÚImportErrorr    r   r   r-   Ú__name__ÚargparseÚArgumentParserÚparserÚadd_argumentÚstrÚaranger<   ÚarrayÚuint8ÚtostringÚmatrixr$   Ú
parse_argsr   r   r   r   Ú<module>   sB    ÿ$ÿÿ
þöä