diff --git a/src/anaconda_auth/__init__.py b/src/anaconda_auth/__init__.py index e04ef047..6c49dc48 100644 --- a/src/anaconda_auth/__init__.py +++ b/src/anaconda_auth/__init__.py @@ -5,6 +5,7 @@ from anaconda_auth.actions import login # noqa: E402 from anaconda_auth.actions import logout # noqa: E402 +from anaconda_auth.actions import load_token_info # noqa: E402 from anaconda_auth.client import client_factory # noqa: E402 -__all__ = ["__version__", "login", "logout", "client_factory"] +__all__ = ["__version__", "login", "logout", "load_token_info", "client_factory"] diff --git a/src/anaconda_auth/actions.py b/src/anaconda_auth/actions.py index c4b5e473..09c58074 100644 --- a/src/anaconda_auth/actions.py +++ b/src/anaconda_auth/actions.py @@ -226,11 +226,14 @@ def logout(config: Optional[AnacondaAuthConfig] = None) -> None: pass -def is_logged_in() -> bool: +def load_token_info() -> Optional[TokenInfo]: config = AnacondaAuthConfig() try: token_info = TokenInfo.load(domain=config.domain) except TokenNotFoundError: token_info = None + return token_info + - return token_info is not None +def is_logged_in() -> bool: + return load_token_info() is not None diff --git a/src/anaconda_auth/cli.py b/src/anaconda_auth/cli.py index d2af9483..24f72263 100644 --- a/src/anaconda_auth/cli.py +++ b/src/anaconda_auth/cli.py @@ -12,6 +12,7 @@ from anaconda_auth import __version__ from anaconda_auth.actions import login from anaconda_auth.actions import logout +from anaconda_auth.actions import load_token_info from anaconda_auth.client import BaseClient from anaconda_auth.config import AnacondaAuthConfig from anaconda_auth.exceptions import TokenExpiredError @@ -272,7 +273,10 @@ def auth_key() -> None: print(config.api_key) return - token_info = TokenInfo.load(domain=config.domain) + token_info = load_token_info() + if token_info is None: + raise TokenNotFoundError + if not token_info.expired: print(token_info.api_key) return