|  | @@ -8,6 +8,31 @@ class settings:
 | 
	
		
			
				|  |  |      __corresp_account_id = 0
 | 
	
		
			
				|  |  |      __property_name = ""
 | 
	
		
			
				|  |  |      __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
 | 
	
		
			
				|  |  |      def first_name(self):
 | 
	
	
		
			
				|  | @@ -23,8 +48,8 @@ class settings:
 | 
	
		
			
				|  |  |          Raises:
 | 
	
		
			
				|  |  |              TypeError: Некорректный аргумента
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  | -        if not isinstance(value, str):
 | 
	
		
			
				|  |  | -            raise TypeError("Некорректный аргумент!")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        settings.__validate(value, str)
 | 
	
		
			
				|  |  |          
 | 
	
		
			
				|  |  |          self.__first_name = value.strip()
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -44,11 +69,7 @@ class settings:
 | 
	
		
			
				|  |  |              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
 | 
	
		
			
				|  |  |      
 | 
	
	
		
			
				|  | @@ -68,11 +89,7 @@ class settings:
 | 
	
		
			
				|  |  |              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
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -93,11 +110,7 @@ class settings:
 | 
	
		
			
				|  |  |              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
 | 
	
		
			
				|  |  |          
 | 
	
	
		
			
				|  | @@ -118,11 +131,7 @@ class settings:
 | 
	
		
			
				|  |  |              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
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -142,9 +151,7 @@ class settings:
 | 
	
		
			
				|  |  |              TypeError: Некорректный тип аргумента
 | 
	
		
			
				|  |  |          """
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if not isinstance(value, str):
 | 
	
		
			
				|  |  | -            raise TypeError("Некорректный тип аргумента")
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  | +        settings.__validate(value, str) 
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          self.__property_name = value
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -165,10 +172,6 @@ class settings:
 | 
	
		
			
				|  |  |              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
 |