def _create_package(name, sync = False): data = dict( name = name, version = _INFO_DICT[name]["version"] ) package = Package(data, sync = sync) return package
def __init__(self, source, packages = [ ], installed = False, sync = False ): self.source = source self.packages = [Package(p, sync = sync) for p in packages ] self.installed = installed
def discover_and_add(self, package, constraint = None): # discover and add metadata = get_meta(package, constraint) logger.info("Releases for package %s found: %s" % (package, metadata["releases"])) for release in metadata["releases"]: self.add(package.name, package.extras, release) deps = [] logger.info("Adding Dependencies for package %s: %s" % (package, metadata["dependencies"])) for dependency in metadata["dependencies"]: deps.append(Package(dependency.name)) self.add(package.name, package.extras, constraint, deps = deps)
def _versions_for(self, package, constraint = None): package = Package(package) extras = package.extras if package not in self._packages or extras not in self._packages[package]: self.discover_and_add(package, constraint) if package not in self._packages: return [ ] versions = [ ] for version in iterkeys(self._packages[package][extras]): if not constraint or constraint.allows_any( Range(version, version, True, True) ): versions.append(version) return sorted(versions, reverse = True)
def test_package(): package = Package("pipupgrade")
def _create_package(name, sync=False): package = Package(name, sync=sync) package.current_version = _INFO_DICT[name]["version"] return package