8.2.34 | Linux | www-data (uid:33)
👁 View: namespaces.py
📁 //snap/core22/current/lib/python3/dist-packages/setuptools/namespaces.py
import os from distutils import log import itertools flatten = itertools.chain.from_iterable class Installer: nspkg_ext = '-nspkg.pth' def install_namespaces(self): nsp = self._get_all_ns_packages() if not nsp: return filename, ext = os.path.splitext(self._get_target()) filename += self.nspkg_ext self.outputs.append(filename) log.info("Installing %s", filename) lines = map(self._gen_nspkg_line, nsp) if self.dry_run: # always generate the lines, even in dry run list(lines) return with open(filename, 'wt') as f: f.writelines(lines) def uninstall_namespaces(self): filename, ext = os.path.splitext(self._get_target()) filename += self.nspkg_ext if not os.path.exists(filename): return log.info("Removing %s", filename) os.remove(filename) def _get_target(self): return self.target _nspkg_tmpl = ( "import sys, types, os", "has_mfs = sys.version_info > (3, 5)", "p = os.path.join(%(root)s, *%(pth)r)", "importlib = has_mfs and __import__('importlib.util')", "has_mfs and __import__('importlib.machinery')", ( "m = has_mfs and " "sys.modules.setdefault(%(pkg)r, " "importlib.util.module_from_spec(" "importlib.machinery.PathFinder.find_spec(%(pkg)r, " "[os.path.dirname(p)])))" ), ( "m = m or " "sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))" ), "mp = (m or []) and m.__dict__.setdefault('__path__',[])", "(p not in mp) and mp.append(p)", ) "lines for the namespace installer" _nspkg_tmpl_multi = ( 'm and setattr(sys.modules[%(parent)r], %(child)r, m)', ) "additional line(s) when a parent package is indicated" def _get_root(self): return "sys._getframe(1).f_locals['sitedir']" def _gen_nspkg_line(self, pkg): pth = tuple(pkg.split('.')) root = self._get_root() tmpl_lines = self._nspkg_tmpl parent, sep, child = pkg.rpartition('.') if parent: tmpl_lines += self._nspkg_tmpl_multi return ';'.join(tmpl_lines) % locals() + '\n' def _get_all_ns_packages(self): """Return sorted list of all package namespaces""" pkgs = self.distribution.namespace_packages or [] return sorted(flatten(map(self._pkg_names, pkgs))) @staticmethod def _pkg_names(pkg): """ 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 """ parts = pkg.split('.') while parts: yield '.'.join(parts) parts.pop() class DevelopInstaller(Installer): def _get_root(self): return repr(str(self.egg_path)) def _get_target(self): return self.egg_link
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 //snap/core22/current/lib/python3/dist-packages/setuptools
NameSizePermModifiedActions
📁 __pycache__/-07552026-08-24 03:28🗑 Delete
📁 _distutils/-07552026-08-24 03:28🗑 Delete
📁 _vendor/-07552026-08-24 03:28🗑 Delete
📁 command/-07552026-08-24 03:28🗑 Delete
📁 extern/-07552026-08-24 03:28🗑 Delete
__init__.py7.3K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_deprecation_warning.py218B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_imp.py2.3K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
archive_util.py6.9K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
build_meta.py10.3K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
config.py22.6K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
dep_util.py949B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
depends.py5.4K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
dist.py42.2K06442025-05-28 17:13👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
errors.py1.5K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
extension.py1.6K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
glob.py4.8K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
installer.py3.7K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
launch.py812B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
monkey.py5.1K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
msvc.py49.4K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
namespaces.py3K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
package_index.py40.9K06442025-05-28 17:13👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
py34compat.py245B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
sandbox.py14K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
script (dev).tmpl218B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
script.tmpl138B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
unicode_utils.py941B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
version.py144B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
wheel.py8.1K06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
windows_support.py714B06442021-12-12 20:45👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del