o nhc @sRddlZddlZddlmZddlmZejjZGdddZ Gddde Z dS) N)py312)logc@sdeZdZdZdddZdddZdd Zd d Zd Z d Z ddZ ddZ ddZ e ddZdS) Installerz -nspkg.pthreturnNcCs|}|sdS|}|j|td|t|j|}|jr't |dSt |dt j d}| |WddS1s@wYdS)Nz Installing %swt)encoding)_get_all_ns_packages_get_nspkg_fileoutputsappendrinfomap_gen_nspkg_linedry_runlistopenr PTH_ENCODING writelines)selfnspfilenamelinesfrX/opt/prometheus-monitoring-scripts/lib/python3.10/site-packages/setuptools/namespaces.pyinstall_namespacess    "zInstaller.install_namespacescCs2|}tj|s dStd|t|dS)Nz Removing %s)r ospathexistsrr remove)rrrrruninstall_namespaces!s   zInstaller.uninstall_namespacescCstj|\}}||jSN)rrsplitext _get_target nspkg_ext)rr_rrrr (s zInstaller._get_nspkg_filecC|jSr")targetrrrrr$,zInstaller._get_target)zimport sys, types, osz$p = os.path.join(%(root)s, *%(pth)r)z(importlib = __import__('importlib.util')z!__import__('importlib.machinery')zm = sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))zCm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))z7mp = (m or []) and m.__dict__.setdefault('__path__',[])z(p not in mp) and mp.append(p))z4m and setattr(sys.modules[%(parent)r], %(child)r, m)cCsdS)Nz$sys._getframe(1).f_locals['sitedir']rr)rrr _get_rootDszInstaller._get_rootcCsNt|d}|}|j}|d\}}}|r||j7}d|tdS)N.; )tuplesplitr+ _nspkg_tmpl rpartition_nspkg_tmpl_multijoinlocals)rpkgpthroot tmpl_linesparentsepchildrrrrGs zInstaller._gen_nspkg_linecCs$|jjpg}tttt|j|S)z,Return sorted list of all package namespaces) distributionnamespace_packagessortedsetflattenr _pkg_names)rpkgsrrrr Ps zInstaller._get_all_ns_packagesccs0|d}|rd|V||sdSdS)z Given a namespace package, yield the components of that package. >>> names = Installer._pkg_names('a.b.c') >>> set(names) == set(['a', 'a.b', 'a.b.c']) True r,N)r0r4pop)r6partsrrrrBUs    zInstaller._pkg_names)rN)__name__ __module__ __qualname__r%rr!r r$r1r3r+rr staticmethodrBrrrrr s   rc@seZdZddZddZdS)DevelopInstallercCstt|jSr")reprstregg_pathr)rrrr+fszDevelopInstaller._get_rootcCr'r")egg_linkr)rrrr$ir*zDevelopInstaller._get_targetN)rFrGrHr+r$rrrrrJes rJ) itertoolsrcompatr distutilsrchain from_iterablerArrJrrrrs  Z