Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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]
    )
Exemplo n.º 5
0
# -*- 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',
    ]
Exemplo n.º 6
0
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
Exemplo n.º 7
0
# -*- 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']