diff options
author | monster <monster@ydb.tech> | 2022-07-07 14:41:37 +0300 |
---|---|---|
committer | monster <monster@ydb.tech> | 2022-07-07 14:41:37 +0300 |
commit | 06e5c21a835c0e923506c4ff27929f34e00761c2 (patch) | |
tree | 75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /library/python/runtime_py3/sitecustomize.pyx | |
parent | 03f024c4412e3aa613bb543cf1660176320ba8f4 (diff) | |
download | ydb-06e5c21a835c0e923506c4ff27929f34e00761c2.tar.gz |
fix ya.make
Diffstat (limited to 'library/python/runtime_py3/sitecustomize.pyx')
-rw-r--r-- | library/python/runtime_py3/sitecustomize.pyx | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/library/python/runtime_py3/sitecustomize.pyx b/library/python/runtime_py3/sitecustomize.pyx deleted file mode 100644 index 966bbe8ba6..0000000000 --- a/library/python/runtime_py3/sitecustomize.pyx +++ /dev/null @@ -1,69 +0,0 @@ -import re -import sys - -import __res - -from importlib.abc import ResourceReader -from importlib.metadata import Distribution, DistributionFinder, PackageNotFoundError, Prepared - -ResourceReader.register(__res._ResfsResourceReader) - -METADATA_NAME = re.compile('^Name: (.*)$', re.MULTILINE) - - -class ArcadiaDistribution(Distribution): - - def __init__(self, prefix): - self.prefix = prefix - - def read_text(self, filename): - data = __res.resfs_read(f'{self.prefix}{filename}') - if data: - return data.decode('utf-8') - read_text.__doc__ = Distribution.read_text.__doc__ - - def locate_file(self, path): - return f'{self.prefix}{path}' - - -class ArcadiaMetadataFinder(DistributionFinder): - - prefixes = {} - - @classmethod - def find_distributions(cls, context=DistributionFinder.Context()): - found = cls._search_prefixes(context.name) - return map(ArcadiaDistribution, found) - - @classmethod - def _init_prefixes(cls): - cls.prefixes.clear() - - for resource in __res.resfs_files(): - resource = resource.decode('utf-8') - if not resource.endswith('METADATA'): - continue - data = __res.resfs_read(resource).decode('utf-8') - metadata_name = METADATA_NAME.search(data) - if metadata_name: - metadata_name = Prepared(metadata_name.group(1)) - cls.prefixes[metadata_name.normalized] = resource[:-len('METADATA')] - - @classmethod - def _search_prefixes(cls, name): - if not cls.prefixes: - cls._init_prefixes() - - if name: - try: - yield cls.prefixes[Prepared(name).normalized] - except KeyError: - raise PackageNotFoundError(name) - else: - for prefix in sorted(cls.prefixes.values()): - yield prefix - - -# monkeypatch standart library -import importlib.metadata -importlib.metadata.MetadataPathFinder = ArcadiaMetadataFinder |