def get_licenses_from_pkginfo(self): """ Parses the license string from PKG-INFO file. """ licenses = set() data = "" try: try: data = self.pip_req.get_dist().get_metadata('PKG-INFO') except (FileNotFoundError, IOError): data = self.pip_req.get_dist().get_metadata('METADATA') except (FileNotFoundError, AttributeError): for dist in pkg_resources.find_on_path(None, self.pip_req.source_dir): try: data = dist.get_metadata('PKG-INFO') except (FileNotFoundError, IOError): data = dist.get_metadata('METADATA') break for line in data.split('\n'): # License string from setup() function. if line.startswith('License: '): lic = line.split('License: ')[-1] licenses.add(lic.strip()) # License strings from classifiers. elif line.startswith('Classifier: License ::'): lic = line.split('::')[-1] licenses.add(lic.strip()) return filter_licenses(licenses)
def wheel_version(source_dir): """ Return the Wheel-Version of an extracted wheel, if possible. Otherwise, return False if we couldn't parse / extract it. """ try: dist = [d for d in pkg_resources.find_on_path(None, source_dir)][0] wheel_data = dist.get_metadata('WHEEL') wheel_data = Parser().parsestr(wheel_data) version = wheel_data['Wheel-Version'].strip() version = tuple(map(int, version.split('.'))) return version except: return False
def main(): args = parser.parse_args() sys_path_entry, = glob.glob( os.path.join(args.directory, "lib/python*/site-packages") ) mo, = re.finditer("python(\d)\.(\d)", sys_path_entry) major, minor = map(int, mo.group(1, 2)) if (major, minor) == sys.version_info[:2]: parser.error( "Target venv has same Python version as current: %s.%s" % (major, minor) ) entries = list(pkg_resources.find_on_path(None, sys_path_entry)) print(entries) if not entries: parser.error("venv contains no installed packages") os.rename(args.directory, args.directory + "~") venv.main([args.directory]) subprocess.check_call( [os.path.join(args.directory, "bin/pip"), "install"] + ["%s==%s" % (o.project_name, o.version) for o in entries] )
# -*- coding: utf-8 -*- """A sphinx config file""" project = 'collective.zamqp' import pkg_resources from sys import path from datetime import datetime from email import message_from_string package = pkg_resources.find_on_path(project, path[0]).next() metadata = message_from_string(package.get_metadata('PKG-INFO')) copyright = u'%s, %s <%s>' % (datetime.now().year, metadata['author'], metadata['author-email']) master_doc = 'index' html_theme = 'default' source_suffix = '.rst' pygments_style = 'sphinx' version = release = package.version extensions = [ 'collective.sphinx.includedoc', 'repoze.sphinx.autointerface', 'sphinxcontrib.plantuml', 'sphinxtogithub', ]
def get_version(req): try: return req.get_dist().version except (FileNotFoundError, AttributeError): for dist in pkg_resources.find_on_path(None, req.source_dir): return dist.version
# -*- coding: utf-8 -*- """A sphinx config file""" project = 'collective.zamqp' import pkg_resources from sys import path from datetime import datetime from email import message_from_string package = pkg_resources.find_on_path(project, path[0]).next() metadata = message_from_string(package.get_metadata('PKG-INFO')) copyright = u'%s, %s <%s>' % (datetime.now().year, metadata['author'], metadata['author-email']) master_doc = 'index' html_theme = 'default' source_suffix = '.rst' pygments_style = 'sphinx' version = release = package.version extensions = [ 'collective.sphinx.includedoc', 'repoze.sphinx.autointerface', 'sphinxcontrib.plantuml', 'sphinxtogithub', ] html_static_path = ['_static']