def _get_launchpad_ppa_key_id(cls, ppa: str) -> str: owner, name = cls._get_ppa_parts(ppa) launchpad = Launchpad.login_anonymously("snapcraft", "production") launchpad_url = f"~{owner}/+archive/{name}" logger.debug(f"Loading launchpad url: {launchpad_url}") try: key_id = launchpad.load(launchpad_url).signing_key_fingerprint except lazr.restfulclient.errors.NotFound as error: raise errors.AptPPAInstallError( ppa=ppa, reason="not found on launchpad") from error logger.debug(f"Retrieved launchpad PPA key ID: {key_id}") return key_id
def split_ppa_parts(*, ppa: str) -> Tuple[str, str]: """Obtain user and repository components from a PPA line.""" ppa_split = ppa.split("/") if len(ppa_split) != 2: raise errors.AptPPAInstallError(ppa, "invalid PPA format") return ppa_split[0], ppa_split[1]
def _get_ppa_parts(cls, ppa: str) -> Tuple[str, str]: ppa_split = ppa.split("/") if len(ppa_split) != 2: raise errors.AptPPAInstallError(ppa=ppa, reason="invalid PPA format") return ppa_split[0], ppa_split[1]