def find_file(self, package, version, filename): if not isinstance(package, Package): package = Package.find(package) pkg_file = PackageFile.select( PackageFile.id).join(Package).join(PackageVersion).where( PackageFile.package == package, PackageFile.basename == filename, PackageVersion.version == HashVersion(version), ).limit(1) if not pkg_file.count(): raise LookupError("Not found") return PackageFile.get(id=pkg_file[0].id)
def proxy_package(cls, package): try: remote_package_exists = yield PYPIClient.exists(package) if remote_package_exists: pkg_real_name = yield PYPIClient.find_real_name(package) pkg = yield proxy_remote_package(pkg_real_name) raise Return(pkg) raise LookupError("Remote package not found") except (LookupError, HTTPClientError) as e: if isinstance(e, HTTPClientError): log.warning("PYPI backend return an error: %s", e) raise Return(Package.find(package))
def find_file(self, package, version, filename): if not isinstance(package, Package): package = Package.find(package) pkg_file = PackageFile.select( PackageFile.id ).join( Package ).join( PackageVersion ).where( PackageFile.package == package, PackageFile.basename == filename, PackageVersion.version == HashVersion(version), ).limit(1) if not pkg_file.count(): raise LookupError("Not found") return PackageFile.get(id=pkg_file[0].id)