U
    aÊ¹jÖ
  ã                   @   sJ   d dl Z d dlZd dlZd dlmZ dd„ Zddd„Zd	d
„ Zdd„ ZdS )é    N)ÚPathc                 c   s8   |   d¡}tt|ƒƒD ]}d |d |d … ¡V  qd S )NÚ.é   )ÚsplitÚrangeÚlenÚjoin)Ú	namespaceÚpartsÚi© r   úZ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/setuptools/tests/namespaces.pyÚiter_namespace_pkgs   s    
r   ú1.0Úpkg_resourcesc                 C   s&  | | }|  ¡  |d }| d¡\}}}tt|ƒƒ}	|||	dœ}
|dkrVd}|	|
d< n|dkrdd}ntd	|›d
�ƒ‚tj|
dd�}t |¡s�t	‚t
 d¡j|d�}|j|dd� t|| dd¡ƒ}|j dd� |	D ]&}|| dd¡ d }|j|dd� qÒ||d  }djf tƒ Ž}|j|dd� |S )Nzsetup.pyr   )ÚnameÚversionÚpackagesr   z7__import__("pkg_resources").declare_namespace(__name__)Únamespace_packagesÚpkgutilz@__path__ = __import__("pkgutil").extend_path(__path__, __name__)zCannot recognise impl=z when creating namespacesé   )ÚindentzY        import setuptools
        args = {args}
        setuptools.setup(**args)
        )Úargsúutf-8©Úencodingú/T©Úparentsz__init__.pyú.pyzname = {rest!r})ÚmkdirÚ
rpartitionÚlistr   Ú
ValueErrorÚjsonÚdumpsÚastÚliteral_evalÚAssertionErrorÚtextwrapÚdedentÚformatÚ
write_textr   ÚreplaceÚlocals)Útmpdirr   r   ÚimplÚsrc_dirÚsetup_pyr	   Ú_ÚrestÚ
namespacesZ
setup_argsÚtmplr   ÚscriptÚ
ns_pkg_dirÚnsZpkg_initÚpkg_modÚsome_functionalityr   r   r   Úbuild_namespace_package   s@    ý
ÿúr<   c                 C   sŽ   | | }|  ¡  |d }| d¡\}}}d|› d�}|jt |¡dd� t|| dd¡ƒ}|j dd	� ||d
  }	d|›�}
|	j|
dd� |S )Nzpyproject.tomlr   zŒ        [build-system]
        requires = ["setuptools"]
        build-backend = "setuptools.build_meta"

        [project]
        name = "z&"
        version = "3.14159"
        r   r   r   Tr   r   zname = )r    r!   r,   r)   r*   r   r-   )r/   r   r1   Ú	pyprojectr	   r3   r4   r7   r8   r:   r;   r   r   r   Úbuild_pep420_namespace_package:   s    ú	
r>   c                 C   s0   | d }t | ƒ}d}|j|jf tƒ Ždd� dS )zŒ
    Add a sitecustomize.py module in target to cause
    target to be added to site dirs such that .pth files
    are processed there.
    zsitecustomize.pyz-__import__("site").addsitedir({target_str!r})r   r   N)Ústrr,   r+   r.   )ÚtargetÚscZ
target_strr6   r   r   r   Úmake_site_dirQ   s    rB   )r   r   )	r&   r$   r)   Úpathlibr   r   r<   r>   rB   r   r   r   r   Ú<module>   s   
-