Source code for spicerack.interactive

"""Interactive module."""
import logging
import os

from wmflib.interactive import get_secret

from spicerack.exceptions import SpicerackError


logger = logging.getLogger(__name__)


[docs]def get_management_password() -> str: """Get the management password either from the environment or asking for it. Returns: str: the password. Raises: spicerack.exceptions.SpicerackError: if the password is empty. """ password = os.getenv('MGMT_PASSWORD') if password is None: logger.debug('MGMT_PASSWORD environment variable not found') # Ask for a password, raise exception if not a tty password = get_secret('Management Password') else: logger.info('Using Management Password from the MGMT_PASSWORD environment variable') if not password: raise SpicerackError('Empty Management Password') return password