Ejemplo n.º 1
0
def yaml_to_repository(path):
    with open(path) as fp:
        data = yaml.load(fp)

    packages = data.get('packages', [])
    repository = Repository()

    parser = PrettyPackageStringParser(EnpkgVersion.from_string)
    for package_str in packages:
        package = parser.parse_to_package(package_str, "2.7")
        repository.add_package(package)

    return repository
Ejemplo n.º 2
0
def parse_package_list(packages):
    """ Yield PackageMetadata instances given an sequence  of pretty package
    strings.

    Parameters
    ----------
    packages : iterator
        An iterator of package strings (e.g.
        'numpy 1.8.1-1; depends (MKL ~= 10.3)').
    """
    parser = PrettyPackageStringParser(EnpkgVersion.from_string)

    for package_str in packages:
        package = parser.parse_to_package(package_str, PY_VER)
        full_name = "{0} {1}".format(package.name, package.full_version)
        yield full_name, package