Esempio n. 1
0
    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)
Esempio n. 2
0
    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))
Esempio n. 3
0
    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))
Esempio n. 4
0
    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)