Pārlūkot izejas kodu

d01 Добавление типов для логина и пароля

SVI 2 gadi atpakaļ
vecāks
revīzija
956ac8b39a

+ 13 - 4
desktop/kernel/user/user.py

@@ -1,21 +1,30 @@
 """Пользователь клиента"""
 
+from .user_login import user_login
+
 
 class User:
     """Пользователь клиента"""
 
     def __init__(self) -> None:
-        self._login: str = ""
+        self._login: user_login.UserLogin = user_login.UserLogin()
         "Логин юзера"
         self._password: str = ""
         "Пароль юзера"
 
-    @property
-    def login(self) -> str:
+    def login(self) -> user_login.UserLogin:
         """Логин пользователя"""
         return self._login
 
-    @property
     def password(self) -> str:
         """Пароль пользователя"""
         return self._password
+
+    def password_set(self, password: str) -> str:
+        """Устанавливает пароль пользователя.
+            Возвращает ошибку. если пароль пустой или установлен ранее."""
+        if password == "":
+            return "User.password_set(): пароль пустой"
+        if self._password != "":
+            return "User.password_set(): пароль уже установлен"
+        return ""

+ 23 - 0
desktop/kernel/user/user_login/user_login.py

@@ -0,0 +1,23 @@
+"""Логин пользователя клиента."""
+
+
+class UserLogin:
+    """Логин пользователя клиента."""
+
+    def __init__(self) -> None:
+        """Конструктор логина пользователя клиента."""
+        self._login: str = ""
+        "Фактическое значение логина клиента"
+
+    def get(self) -> str:
+        """Возвращает хранимый логин клиента."""
+        return self._login
+
+    def set(self, login: str) -> str:
+        """Устанавливает значение логина клиента.
+            Возвращает ошибку, если логин пустой или установлен ранее."""
+        if login == "":
+            return "UserLogin.set(): логин пустой"
+        if self._login != "":
+            return "UserLogin.set(): логин установлен ранее"
+        return ""