|
@@ -8,6 +8,31 @@ class settings:
|
|
__corresp_account_id = 0
|
|
__corresp_account_id = 0
|
|
__property_name = ""
|
|
__property_name = ""
|
|
__property_type = ""
|
|
__property_type = ""
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def __validate(value, exp_type=None, length=None):
|
|
|
|
+ """
|
|
|
|
+ Валидация аргумента по типу и/или длине
|
|
|
|
+ Args:
|
|
|
|
+ value (any): Передаваемый аргумент
|
|
|
|
+ type (object): Ожидаемый тип
|
|
|
|
+ length (int): Ожидаемая длина
|
|
|
|
+ Raises:
|
|
|
|
+ TypeError: Некорректный тип аргумента
|
|
|
|
+ ValueError: Некорректная длина аргумента
|
|
|
|
+ Returns:
|
|
|
|
+ True или Exception взависимости от результата валидации
|
|
|
|
+ """
|
|
|
|
+
|
|
|
|
+ # Проверяем соответствие типа
|
|
|
|
+ if exp_type is not None and not isinstance(value, exp_type):
|
|
|
|
+ raise TypeError("Некорректный тип аргумента")
|
|
|
|
+
|
|
|
|
+ # Проверяем соответствие длины
|
|
|
|
+ if length is not None and len(str(value)) != length:
|
|
|
|
+ raise ValueError("Некорректная длина аргумента")
|
|
|
|
+
|
|
|
|
+ return True
|
|
|
|
|
|
@property
|
|
@property
|
|
def first_name(self):
|
|
def first_name(self):
|
|
@@ -23,8 +48,8 @@ class settings:
|
|
Raises:
|
|
Raises:
|
|
TypeError: Некорректный аргумента
|
|
TypeError: Некорректный аргумента
|
|
"""
|
|
"""
|
|
- if not isinstance(value, str):
|
|
|
|
- raise TypeError("Некорректный аргумент!")
|
|
|
|
|
|
+
|
|
|
|
+ settings.__validate(value, str)
|
|
|
|
|
|
self.__first_name = value.strip()
|
|
self.__first_name = value.strip()
|
|
|
|
|
|
@@ -44,11 +69,7 @@ class settings:
|
|
ValueError: Некорректная длина аргумента
|
|
ValueError: Некорректная длина аргумента
|
|
"""
|
|
"""
|
|
|
|
|
|
- if not isinstance(value, int):
|
|
|
|
- raise TypeError("Некорректный тип аргумента")
|
|
|
|
-
|
|
|
|
- if not len(str(value)) == 12:
|
|
|
|
- raise ValueError("Некорректная длина аргумента")
|
|
|
|
|
|
+ settings.__validate(value, int, 12)
|
|
|
|
|
|
self.__tax_id = value
|
|
self.__tax_id = value
|
|
|
|
|
|
@@ -68,11 +89,7 @@ class settings:
|
|
ValueError: Некорректная длина аргумента
|
|
ValueError: Некорректная длина аргумента
|
|
"""
|
|
"""
|
|
|
|
|
|
- if not isinstance(value, int):
|
|
|
|
- raise TypeError("Некорректный тип аргумента")
|
|
|
|
-
|
|
|
|
- if not len(str(value)) == 9:
|
|
|
|
- raise ValueError("Некорректная длина аргумента")
|
|
|
|
|
|
+ settings.__validate(value, int, 9)
|
|
|
|
|
|
self.__bank_id = value
|
|
self.__bank_id = value
|
|
|
|
|
|
@@ -93,11 +110,7 @@ class settings:
|
|
ValueError: Некорректная длина аргумента
|
|
ValueError: Некорректная длина аргумента
|
|
"""
|
|
"""
|
|
|
|
|
|
- if not isinstance(value, int):
|
|
|
|
- raise TypeError("Некорректный тип аргумента")
|
|
|
|
-
|
|
|
|
- if not len(str(value)) == 11:
|
|
|
|
- raise ValueError("Некорректная длина аргумента")
|
|
|
|
|
|
+ settings.__validate(value, int, 11)
|
|
|
|
|
|
self.__bank_account_id = value
|
|
self.__bank_account_id = value
|
|
|
|
|
|
@@ -118,11 +131,7 @@ class settings:
|
|
ValueError: Некорректная длина аргумента
|
|
ValueError: Некорректная длина аргумента
|
|
"""
|
|
"""
|
|
|
|
|
|
- if not isinstance(value, int):
|
|
|
|
- raise TypeError("Некорректный тип аргумента")
|
|
|
|
-
|
|
|
|
- if not len(str(value)) == 11:
|
|
|
|
- raise ValueError("Некорректная длина аргумента")
|
|
|
|
|
|
+ settings.__validate(value, int, 11)
|
|
|
|
|
|
self.__corresp_account_id = value
|
|
self.__corresp_account_id = value
|
|
|
|
|
|
@@ -142,9 +151,7 @@ class settings:
|
|
TypeError: Некорректный тип аргумента
|
|
TypeError: Некорректный тип аргумента
|
|
"""
|
|
"""
|
|
|
|
|
|
- if not isinstance(value, str):
|
|
|
|
- raise TypeError("Некорректный тип аргумента")
|
|
|
|
-
|
|
|
|
|
|
+ settings.__validate(value, str)
|
|
|
|
|
|
self.__property_name = value
|
|
self.__property_name = value
|
|
|
|
|
|
@@ -165,10 +172,6 @@ class settings:
|
|
ValueError: Некорректная длина аргумента
|
|
ValueError: Некорректная длина аргумента
|
|
"""
|
|
"""
|
|
|
|
|
|
- if not isinstance(value, str):
|
|
|
|
- raise TypeError("Некорректный тип аргумента")
|
|
|
|
-
|
|
|
|
- if not len(str(value)) == 5:
|
|
|
|
- raise ValueError("Некорректная длина аргумента")
|
|
|
|
|
|
+ settings.__validate(value, str, 5)
|
|
|
|
|
|
self.__property_type = value
|
|
self.__property_type = value
|