python-kasa/kasa/credentials.py

31 lines
846 B
Python

"""Credentials class for username / passwords."""
from __future__ import annotations
import base64
from dataclasses import dataclass, field
@dataclass
class Credentials:
"""Credentials for authentication."""
#: Username (email address) of the cloud account
username: str = field(default="", repr=False)
#: Password of the cloud account
password: str = field(default="", repr=False)
def get_default_credentials(tuple: tuple[str, str]) -> Credentials:
"""Return decoded default credentials."""
un = base64.b64decode(tuple[0].encode()).decode()
pw = base64.b64decode(tuple[1].encode()).decode()
return Credentials(un, pw)
DEFAULT_CREDENTIALS = {
"KASA": ("a2FzYUB0cC1saW5rLm5ldA==", "a2FzYVNldHVw"),
"TAPO": ("dGVzdEB0cC1saW5rLm5ldA==", "dGVzdA=="),
"TAPOCAMERA": ("YWRtaW4=", "YWRtaW4="),
}