123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- --- contrib/python/importlib-metadata/py2/.dist-info/METADATA (index)
- +++ contrib/python/importlib-metadata/py2/.dist-info/METADATA (working tree)
- @@ -15,7 +15,6 @@ Classifier: Topic :: Software Development :: Libraries
- Classifier: Programming Language :: Python :: 2
- Requires-Python: !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7
- License-File: LICENSE
- -Requires-Dist: zipp (>=0.5)
- Requires-Dist: pathlib2 ; python_version < "3"
- Requires-Dist: contextlib2 ; python_version < "3"
- Requires-Dist: configparser (>=3.5) ; python_version < "3"
- --- contrib/python/importlib-metadata/py2/importlib_metadata/__init__.py (index)
- +++ contrib/python/importlib-metadata/py2/importlib_metadata/__init__.py (working tree)
- @@ -6,7 +6,6 @@ import re
- import abc
- import csv
- import sys
- -import zipp
- import operator
- import functools
- import itertools
- @@ -525,7 +525,7 @@ class Prepared:
- and base.endswith('.egg'))
- -@install
- +#@install
- class MetadataPathFinder(NullFinder, DistributionFinder):
- """A degenerate finder for distribution packages on the file system.
- @@ -573,6 +572,63 @@ class PathDistribution(Distribution):
- return self._path.parent / path
-
-
- +class ArcadiaDistribution(Distribution):
- +
- + def __init__(self, prefix):
- + self.prefix = prefix
- +
- + def read_text(self, filename):
- + from library.python.resource import resfs_read
- + data = resfs_read('{}{}'.format(self.prefix, filename))
- + if data:
- + return data.decode('utf-8')
- + read_text.__doc__ = Distribution.read_text.__doc__
- +
- + def locate_file(self, path):
- + return '{}{}'.format(self.prefix, path)
- +
- +
- +@install
- +class ArcadiaMetadataFinder(NullFinder, 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):
- + from library.python.resource import resfs_read, resfs_files
- + cls.prefixes.clear()
- +
- + METADATA_NAME = re.compile('^Name: (.*)$', re.MULTILINE)
- +
- + for resource in resfs_files():
- + if not resource.endswith('METADATA'):
- + continue
- + data = 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
- +
- +
- def distribution(distribution_name):
- """Get the ``Distribution`` instance for the named package.
-
|