Example #1
0
    def find_best_match(self, ireq, prereleases=False):
        if ireq.editable:
            return ireq

        versions = ireq.specifier.filter(self.index[ireq.req.key], prereleases=prereleases)
        best_version = max(versions, key=Version)
        return make_install_requirement(ireq.req.key, best_version, ireq.extras)
Example #2
0
 def find_best_match(self, ireq, prereleases=None):
     key = key_from_req(ireq.req)
     existing_pin = self.existing_pins.get(key)
     if existing_pin and ireq_satisfied_by_existing_pin(ireq, existing_pin):
         project, version, _ = as_tuple(existing_pin)
         return make_install_requirement(project, version, ireq.extras)
     else:
         return self.repository.find_best_match(ireq, prereleases)
Example #3
0
    def find_best_match(self, ireq, prereleases=False):
        if ireq.editable:
            return ireq

        versions = list(ireq.specifier.filter(self.index[key_from_req(ireq.req)],
                                              prereleases=prereleases))
        if not versions:
            raise NoCandidateFound(ireq, self.index[key_from_req(ireq.req)])
        best_version = max(versions, key=Version)
        return make_install_requirement(key_from_req(ireq.req), best_version, ireq.extras, constraint=ireq.constraint)
Example #4
0
 def find_best_match(self, ireq, prereleases=None):
     key = key_from_req(ireq.req)
     existing_pin = self.existing_pins.get(key)
     if existing_pin and ireq_satisfied_by_existing_pin(ireq, existing_pin):
         project, version, _ = as_tuple(existing_pin)
         return make_install_requirement(
             project, version, ireq.extras, constraint=ireq.constraint, markers=ireq.markers
         )
     else:
         return self.repository.find_best_match(ireq, prereleases)
Example #5
0
 def find_best_match(
     self, ireq: InstallRequirement, prereleases: Optional[bool] = None
 ) -> InstallationCandidate:
     key = key_from_ireq(ireq)
     existing_pin = self.existing_pins.get(key)
     if existing_pin and ireq_satisfied_by_existing_pin(ireq, existing_pin):
         project, version, _ = as_tuple(existing_pin)
         return make_install_requirement(project, version, ireq)
     else:
         return self.repository.find_best_match(ireq, prereleases)
Example #6
0
    def find_best_match(self, ireq, prereleases=False):
        if ireq.editable:
            return ireq

        versions = list(ireq.specifier.filter(self.index[key_from_req(ireq.req)],
                                              prereleases=prereleases))
        if not versions:
            raise NoCandidateFound(ireq, self.index[key_from_req(ireq.req)], ['https://fake.url.foo'])
        best_version = max(versions, key=Version)
        return make_install_requirement(key_from_req(ireq.req), best_version, ireq.extras, constraint=ireq.constraint)
Example #7
0
    def find_best_match(self, ireq, prereleases=False):
        if ireq.editable:
            return ireq

        versions = list(
            ireq.specifier.filter(
                self.index[key_from_ireq(ireq)], prereleases=prereleases
            )
        )
        if not versions:
            tried_versions = [
                InstallationCandidate(ireq.name, version, "https://fake.url.foo")
                for version in self.index[key_from_ireq(ireq)]
            ]
            raise NoCandidateFound(ireq, tried_versions, ["https://fake.url.foo"])
        best_version = max(versions, key=Version)
        return make_install_requirement(key_from_ireq(ireq), best_version, ireq)