o
    5‘ðiÖ
  ã                   @   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   s:   � |   d¡}tt|ƒƒD ]}d |d |d … ¡V  qd S )NÚ.é   )ÚsplitÚrangeÚlenÚjoin)Ú	namespaceÚpartsÚi© r   úZ/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/tests/namespaces.pyÚiter_namespace_pkgs   s
   €
ÿr   ú1.0Úpkg_resourcesc                 C   s*  | | }|  ¡  |d }| d¡\}}}tt|ƒƒ}	|||	dœ}
|dkr+d}|	|
d< n|dkr2d}ntd	|›d
�ƒ‚tj|
dd�}t |¡sHJ ‚t	 
d¡j|d�}|j|dd� t|| dd¡ƒ}|j dd� |	D ]}|| dd¡ d }|j|dd� qi||d  }djdi 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}r   )ÚmkdirÚ
rpartitionÚlistr   Ú
ValueErrorÚjsonÚdumpsÚastÚliteral_evalÚtextwrapÚdedentÚformatÚ
write_textr   ÚreplaceÚlocals)Útmpdirr   r   ÚimplÚsrc_dirÚsetup_pyr	   Ú_ÚrestÚ
namespacesÚ
setup_argsÚtmplr   ÚscriptÚ
ns_pkg_dirÚnsÚ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   r0   Ú	pyprojectr	   r2   r3   r7   r8   r;   r<   r   r   r   Úbuild_pep420_namespace_package:   s   ú	
r?   c                 C   s4   | d }t | ƒ}d}|j|jdi 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   Nr   )Ústrr+   r*   r-   )ÚtargetÚscÚ
target_strr6   r   r   r   Úmake_site_dirQ   s    rD   )r   r   )	r&   r$   r(   Úpathlibr   r   r=   r?   rD   r   r   r   r   Ú<module>   s    
-