Source code for sf_toolkit.auth.login_lazy

__all__ = ("lazy_login",)

from .login_cli import cli_login
from .login_oauth import lazy_oauth_login
from .login_soap import lazy_soap_login
from .types import LazyParametersMissing


[docs] def lazy_login(**kwargs): if "sf_cli_alias" in kwargs: return cli_login( kwargs.pop("sf_cli_alias"), kwargs.pop("sf_cli_exec_path", None) ) elif any( key in kwargs for key in ["consumer_key", "private_key", "consumer_secret"] ): return lazy_oauth_login(**kwargs) elif all(key in kwargs for key in ["username", "password"]): # All SOAP login methods require at least username and password return lazy_soap_login(**kwargs) else: raise LazyParametersMissing( "Could not determine authentication method from provided parameters.\n" f"Provided parameters: {', '.join(kwargs.keys())}\n" "Please provide appropriate parameters for CLI, OAuth, or SOAP authentication." )