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()
Beispiel #2
0
 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)
Beispiel #3
0
 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)