Example #1
0
 def get_release_count(self, package_name: str) -> int:
     """
     Returns the number of releases of the given package name available on the current registry.
     """
     validate_package_name(package_name)
     self._validate_set_registry()
     return self.registry._num_release_ids(package_name)
Example #2
0
 def get_release_id(self, package_name: str, version: str) -> bytes:
     """
     Returns the 32 byte identifier of a release for the given package name and version,
     if they are available on the current registry.
     """
     validate_package_name(package_name)
     validate_package_version(version)
     self._validate_set_registry()
     return self.registry._get_release_id(package_name, version)
Example #3
0
 def get_all_package_releases(self, package_name: str) -> Iterable[Tuple[str, str]]:
     """
     Returns a tuple of release data (version, manifest_ur) for every release of the
     given package name available on the current registry.
     """
     validate_package_name(package_name)
     self._validate_set_registry()
     release_ids = self.registry._get_all_release_ids(package_name)
     for release_id in release_ids:
         _, version, manifest_uri = self.registry._get_release_data(release_id)
         yield (version, manifest_uri)
Example #4
0
    def get_package(self, package_name: str, version: str) -> Package:
        """
        Returns a ``Package`` instance, generated by the ``manifest_uri`` associated with the
        given package name and version, if they are published to the currently set registry.

        * Parameters:
            * ``name``: Must be a valid package name.
            * ``version``: Must be a valid package version.
        """
        validate_package_name(package_name)
        validate_package_version(version)
        self._validate_set_registry()
        _, _, release_uri = self.get_release_data(package_name, version)
        return self.get_package_from_uri(release_uri)
Example #5
0
    def get_release_data(self, package_name: str, version: str) -> Tuple[str, str, str]:
        """
        Returns ``(package_name, version, manifest_uri)`` associated with the given
        package name and version, *if* they are published to the currently set registry.

        * Parameters:
            * ``name``: Must be a valid package name.
            * ``version``: Must be a valid package version.
        """
        validate_package_name(package_name)
        validate_package_version(version)
        self._validate_set_registry()
        release_id = self.registry._get_release_id(package_name, version)
        return self.get_release_id_data(release_id)
Example #6
0
    def release_package(
        self, package_name: str, version: str, manifest_uri: str
    ) -> bytes:
        """
        Returns the release id generated by releasing a package on the current registry.
        Requires ``web3.PM`` to have a registry set. Requires ``web3.eth.defaultAccount``
        to be the registry owner.

        * Parameters:
            * ``package_name``: Must be a valid package name.
            * ``version``: Must be a valid package version.
            * ``manifest_uri``: Must be a valid manifest URI.
        """
        validate_package_name(package_name)
        validate_package_version(version)
        self._validate_set_registry()
        return self.registry._release(package_name, version, manifest_uri)
Example #7
0
 def _validate_name(self, name: str) -> None:
     validate_package_name(name)
     if name not in self.build_dependencies:
         raise KeyError(
             f"Package name: {name} not found in build dependencies.")