Ошибка! missing 7 required positional arguments:

При запуске кода шифровальщика, выходит ошибка! Кажется что проблема в получении переменных из env... Ошибка:

TypeError: DotenvDefaultData.__init__() missing 7 required positional arguments: 'bot_token', 'host', 'port', 'user', 'password', 'database', and 'security_key' 

Код шифрования:

from cryptography.fernet import Fernet
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from base64 import urlsafe_b64encode
import os
import asyncio
from source.utils.dotenv_utils import get_dotenv_data


async def hashing(password: str):
    password = password.encode('utf-8')

    env_data = get_dotenv_data()

    security_key = env_data.security_key

    kdf = PBKDF2HMAC(
        algorithm=hashes.SHA256(),
        length=32,
        salt=security_key,
        iterations=480000,
        backend=default_backend()
    )

    key = urlsafe_b64encode(kdf.derive(security_key))

    cipher_suite = Fernet(key)

    encrypted_message = cipher_suite.encrypt(password)
    print("Зашифрованное сообщение:", encrypted_message)

    decrypted_message = cipher_suite.decrypt(encrypted_message)
    print("Расшифрованное сообщение:", decrypted_message.decode('utf-8'))


if __name__ == "__main__":
    asyncio.run(hashing("п"))

Код dotenv_utils:

from dotenv import dotenv_values

from source.models.models import DotenvDefaultData


def get_dotenv_data() -> DotenvDefaultData:

    env_values = dotenv_values(".env")

    values = [value for key, value in env_values.items()]

    return DotenvDefaultData(*values)

Код models:

class DotenvDefaultData:
    def __init__(self,
                 bot_token: str,
                 host: str,
                 port: int,
                 user: str,
                 password: str,
                 database: str,
                 security_key: str,
                 ):
        self.bot_token = bot_token
        self.host = host
        self.port = port
        self.user = user
        self.password = password
        self.database = database
        self.security_key = security_key

Файл env ("Пример структуры"):

BOT_TOKEN=12345
HOST=12345
PORT=12345
USER=qwerty
PASSWORD=qwerty
DATABASE=qwertybase
SECURITY_KEY=b"QWERTY"

Ответы (0 шт):