def test_url_source_nix_expression_contains_specified_hash_when_given(logger): # We specify the wrong hash on purpose to see that UrlSource just # "accepts" the given hash and puts it into the generated nix # expression url_source = UrlSource(URL_SOURCE_URL, hash_value=URL_SOURCE_HASH + "1", logger=logger) assert URL_SOURCE_HASH + "1" in url_source.nix_expression()
def source(self) -> PackageSource: if self._url.startswith("git+"): return self._handle_git_source(self._url[4:]) elif self._url.startswith("git://"): return self._handle_git_source(self._url) elif self._url.startswith("hg+"): return self._handle_hg_source(self._url[3:]) elif self._url.startswith("http://"): return UrlSource(url=self._url) elif self._url.startswith("https://"): return UrlSource(url=self._url) else: return PathSource(path=self._url)
def source(self) -> PackageSource: if self._url.startswith("git+"): return self._handle_git_source(self._url[4:]) elif self._url.startswith("git://"): return self._handle_git_source(self._url) elif self._url.startswith("hg+"): return self._handle_hg_source(self._url[3:]) elif self.url_scheme() == "file": return PathSource(path=self.url_path()) else: return UrlSource(url=self._url, logger=self._logger)
def process_wheel(self, wheel: Wheel) -> None: if wheel.name not in self.sources: release = self.pypi.get_source_release(wheel.name, wheel.version) if release: source = UrlSource( url=release.url, logger=self.logger, hash_value=release.sha256_digest, ) self.sources.add(wheel.name, source) else: self.logger.error( f"Failed to query pypi for release name=`{wheel.name}`, version=`{wheel.version}`" ) raise MetadataFetchingFailed()
def url_source(logger: Logger): return UrlSource(url=URL_SOURCE_URL, logger=logger)