init client with credentials

This commit is contained in:
rmanach 2025-05-20 15:04:30 +02:00
parent bf880935ab
commit 8b1a5ac175

View File

@ -177,6 +177,24 @@ class Client:
return None
@staticmethod
def _init_client(
base_url: str, email: str, password: str, verify: bool = True
) -> "Client":
cli = Client(base_url, email, password)
cli.session = Session()
cli.session.headers.update({"content-type": "application/json"})
if not verify:
urllib3.disable_warnings()
cli.session.verify = verify
cli._login()
logging.info(f"client successfully initialized for user: {cli.email}")
return cli
@classmethod
def from_env(cls) -> "Client":
"""
@ -193,24 +211,17 @@ class Client:
dotenv_data = dotenv_values()
env_data.update(dotenv_data) # type: ignore
cli = Client(
return Client._init_client(
env_data.get("WHEREIS_API_BASE_URL", ""),
env_data.get("WHEREIS_API_EMAIL", ""),
env_data.get("WHEREIS_API_PASSWORD", ""),
)
cli.session = Session()
cli.session.headers.update({"content-type": "application/json"})
is_cert_verify = env_data.get("WHEREIS_CERT_VERIFY", "") != "false"
if not is_cert_verify:
urllib3.disable_warnings()
cli.session.verify = is_cert_verify
cli._login()
logging.info(f"client successfully initialized for user: {cli.email}")
return cli
@classmethod
def from_creds(
cls, base_url: str, email: str, password: str, verify: bool = False
) -> "Client":
return Client._init_client(base_url, email, password, verify)
@refresh()
def _get_sessions_page(self, url: str) -> dict[str, Any] | WhereIsException: