Edit File: build_py.cpython-36.opt-2.pyc
3 � \C������������������@���sz���d�dl�Z�d�dlZd�dlZd�dlmZ�d�dlmZ�d�dlT�d�dlm Z m Z �d�dlmZ�G�dd��de�Z G�d d ��d e e �ZdS�)�����N)�glob)�Command)�*)�convert_path� Mixin2to3)�logc���������������@���s����e�Zd�ZdZd8d9d:d;d<gZddgZddiZdd��Zdd��Zdd��Z dd��Z dd��Zdd��Zdd��Z dd ��Zd!d"��Zd#d$��Zd%d&��Zd'd(��Zd)d*��Zd+d,��Zd=d.d/�Zd0d1��Zd2d3��Zd4d5��Zd6d7��Zd S�)>�build_pyz5"build" pure Python modules (copy to build directory)� build-lib=�d�directory to "build" (copy) to�compile�c�compile .py to .pyc� no-compileN�!don't compile .py files [default]� optimize=�O�lalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]�force�f�2forcibly build everything (ignore file timestamps)c�������������C���s4���d�|�_�d�|�_d�|�_d�|�_d�|�_d|�_d|�_d�|�_d�S�)Nr���)� build_lib� py_modules�package�package_data�package_dirr����optimizer���)�self��r����2/usr/lib64/python3.6/distutils/command/build_py.py�initialize_options ���s����zbuild_py.initialize_optionsc�������������C���s����|�j�ddd��|�jj|�_|�jj|�_|�jj|�_i�|�_|�jjrbx&|�jjj��D�]\}}t|�|�j|<�qHW�|�j��|�_ t |�jt�s�yt|�j�|�_W�n �t tfk r����td��Y�nX�d�S�)NZbuildr���r���zoptimize must be 0, 1, or 2)r���r���)r���r���)Zset_undefined_options�distribution�packagesr���r���r����itemsr����get_data_files� data_files� isinstancer����int� ValueError�AssertionErrorZDistutilsOptionError)r����name�pathr���r���r����finalize_options*���s"���� zbuild_py.finalize_optionsc�������������C���s:���|�j�r|�j���|�jr$|�j���|�j���|�j|�jdd���d�S�)Nr���)�include_bytecode)r���� build_modulesr"����build_packages�build_package_data�byte_compile�get_outputs)r���r���r���r����runC���s����zbuild_py.runc����������������s����g�}|�j�s|S�xr|�j�D�]h}|�j|�}tjj|�jg|jd����}d��|rRt|�d�����fdd�|�j||�D��}|j ||||f��qW�|S�)N�.r�������c����������������s���g�|�]}|��d����qS�)Nr���)�.0�file)�plenr���r���� <listcomp>t���s����z+build_py.get_data_files.<locals>.<listcomp>) r"����get_package_dir�osr+����joinr����split�len�find_data_files�append)r����datar����src_dir� build_dir� filenamesr���)r8���r���r$���a���s���� zbuild_py.get_data_filesc����������������s`���|�j�jdg��|�j�j|g���}g���x:|D�]2}ttjj|t|���}��j��fdd�|D����q&W���S�)N��c����������������s$���g�|�]}|��krt�jj|�r|�qS�r���)r;���r+����isfile)r6����fn)�filesr���r���r9�������s���� z,build_py.find_data_files.<locals>.<listcomp>)r����getr���r;���r+���r<���r����extend)r���r���rB���Zglobs�patternZfilelistr���)rH���r���r?���y���s���� zbuild_py.find_data_filesc�������������C���sh���d�}x^|�j�D�]T\}}}}xF|D�]>}tjj||�}|�jtjj|���|�jtjj||�|dd��qW�qW�d�S�)NF)� preserve_mode)r%���r;���r+���r<����mkpath�dirname� copy_file)r���Zlastdirr���rB���rC���rD����filename�targetr���r���r���r0�������s���� zbuild_py.build_package_datac�������������C���s����|j�d�}|�js&|r tjj|��S�dS�n�g�}x�|r�y|�jdj|��}W�n*�tk rn���|jd|d���|d=�Y�q,X�|jd|��tjj|��S�q,W�|�jjd�}|d�k r�|jd|��|r�tjj|��S�dS�d�S�)Nr4���rE���r���r5������rR���)r=���r���r;���r+���r<����KeyError�insertrI���)r���r���r+����tailZpdirr���r���r���r:�������s(���� zbuild_py.get_package_dirc�������������C���sj���|dkr8t�jj|�s td|���t�jj|�s8td|���|rft�jj|d�}t�jj|�rZ|S�tjd|��d�S�)NrE���z%package directory '%s' does not existz>supposed package directory '%s' exists, but is not a directoryz__init__.pyz!package init file '%s' not found z(or not a regular file)z8package init file '%s' not found (or not a regular file)) r;���r+����existsZDistutilsFileError�isdirr<���rF���r����warn)r���r���r����init_pyr���r���r���� check_package����s���� zbuild_py.check_packagec�������������C���s&���t�jj|�stjd||��dS�dS�d�S�)Nz!file %s (for module %s) not foundFT)r;���r+���rF���r���rX���)r����module�module_filer���r���r����check_module����s����zbuild_py.check_modulec������� ������C���s����|�j�||��ttjj|d��}g�}tjj|�jj�}xX|D�]P}tjj|�}||krztjjtjj |��d�}|j |||f��q8|�jd|���q8W�|S�)Nz*.pyr���zexcluding %s)rZ���r���r;���r+���r<����abspathr!���Zscript_name�splitext�basenamer@���Zdebug_print) r���r���r���Zmodule_files�modulesZsetup_scriptr���Zabs_fr[���r���r���r����find_package_modules����s���� zbuild_py.find_package_modulesc���������� ���C���s����i�}g�}x�|�j�D�]�}|jd�}dj|dd���}|d�}y||�\}}W�n"�tk rj���|�j|�}d}Y�nX�|s�|�j||�} |df||<�| r�|j|d| f��tjj||d��} |�j || �s�q|j||| f��qW�|S�)Nr4���r���r5����__init__z.pyrR���rR���) r���r=���r<���rS���r:���rZ���r@���r;���r+���r]���)r���r"���ra���r[���r+���r���Zmodule_baser���ZcheckedrY���r\���r���r���r����find_modules����s*���� zbuild_py.find_modulesc�������������C���sR���g�}|�j�r|j|�j����|�jrNx.|�jD�]$}|�j|�}|�j||�}|j|��q&W�|S�)N)r���rJ���rd���r"���r:���rb���)r���ra���r���r����mr���r���r����find_all_modules��s���� zbuild_py.find_all_modulesc�������������C���s���dd��|�j���D��S�)Nc�������������S���s���g�|�]}|d��qS�)r5���rR���r���)r6���r[���r���r���r���r9���-��s����z-build_py.get_source_files.<locals>.<listcomp>)rf���)r���r���r���r����get_source_files,��s����zbuild_py.get_source_filesc�������������C���s$���|gt�|��|d�g�}tjj|��S�)Nz.py)�listr;���r+���r<���)r���rC���r���r[���Zoutfile_pathr���r���r����get_module_outfile/��s����zbuild_py.get_module_outfiler5���c�������������C���s����|�j���}g�}xx|D�]p\}}}|jd�}|�j|�j||�}|j|��|r|�jr`|jtjj|dd���|�j dkr|jtjj||�j d���qW�|dd��|�j D��7�}|S�)Nr4���rE���)�optimizationr���c�������������S���s,���g�|�]$\}}}}|D�]}t�jj||��qqS�r���)r;���r+���r<���)r6���r���rB���rC���rD���rP���r���r���r���r9���C��s��� z(build_py.get_outputs.<locals>.<listcomp>)rf���r=���ri���r���r@���r���� importlib�util�cache_from_sourcer���r%���)r���r-���ra���Zoutputsr���r[���r\���rP���r���r���r���r2���3��s"���� zbuild_py.get_outputsc�������������C���sb���t�|t�r|jd�}nt�|ttf�s,td��|�j|�j||�}tj j |�}|�j|��|�j||dd�S�)Nr4���z:'package' must be a string (dot-separated), list, or tupler���)rL���) r&����strr=���rh����tuple� TypeErrorri���r���r;���r+���rN���rM���rO���)r���r[���r\���r���Zoutfile�dirr���r���r����build_moduleJ��s���� zbuild_py.build_modulec�������������C���s.���|�j���}x |D�]\}}}|�j|||��qW�d�S�)N)rd���rr���)r���ra���r���r[���r\���r���r���r���r.���Y��s����zbuild_py.build_modulesc�������������C���sL���xF|�j�D�]<}|�j|�}|�j||�}x |D�]\}}}|�j|||��q(W�qW�d�S�)N)r"���r:���rb���rr���)r���r���r���ra���Zpackage_r[���r\���r���r���r���r/���b��s ���� zbuild_py.build_packagesc�������������C���s����t�jr|�jd��d�S�ddlm}�|�j}|d�tjkr>|tj�}|�jrZ||d|�j ||�j d��|�jdkr||||�j|�j ||�j d��d�S�)Nz%byte-compiling is disabled, skipping.r���)r1���r5���)r���r����prefix�dry_runrR���)�sys�dont_write_bytecoderX����distutils.utilr1���r���r;����sepr���r���rt���r���)r���rH���r1���rs���r���r���r���r1���v��s���� zbuild_py.byte_compile)r ���r ���r���)r���r ���r���)r���Nr���)r���r���r���)r���r���r���)r5���)�__name__� __module__�__qualname__ZdescriptionZuser_optionsZboolean_optionsZnegative_optr ���r,���r3���r$���r?���r0���r:���rZ���r]���rb���rd���rf���rg���ri���r2���rr���r.���r/���r1���r���r���r���r���r������s8���� '4 r���c���������������@���s���e�Zd�Zdd��Zdd��ZdS�)� build_py_2to3c�������������C���sL���g�|�_�|�jr|�j���|�jr*|�j���|�j���|�j|�j���|�j|�jdd���d�S�)Nr���)r-���) � updated_filesr���r.���r"���r/���r0���Zrun_2to3r1���r2���)r���r���r���r���r3������s����zbuild_py_2to3.runc�������������C���s,���t�j|�|||�}|d�r(|�jj|d���|S�)Nr5���r���)r���rr���r}���r@���)r���r[���r\���r����resr���r���r���rr������s����zbuild_py_2to3.build_moduleN)ry���rz���r{���r3���rr���r���r���r���r���r|������s���r|���)r;����importlib.utilrk���ru���r���Zdistutils.corer���Zdistutils.errorsrw���r���r���Z distutilsr���r���r|���r���r���r���r����<module>���s�����}