| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import re
- from darabonba.exceptions import RequiredArgumentException, ValidateException
- from Tea.model import TeaModel
- class DaraModel(TeaModel):
- _map = None
- def validate(self):
- pass
- def to_map(self):
- return self._map
- def from_map(self, map=None):
- pass
- @staticmethod
- def validate_required(prop, prop_name):
- if prop is None:
- raise RequiredArgumentException(prop_name)
- @staticmethod
- def validate_max_length(prop, prop_name, max_length):
- if len(prop) > max_length:
- raise ValidateException(f'{prop_name} is exceed max-length: {max_length}')
- @staticmethod
- def validate_min_length(prop, prop_name, min_length):
- if len(prop) < min_length:
- raise ValidateException(f'{prop_name} is less than min-length: {min_length}')
- @staticmethod
- def validate_pattern(prop, prop_name, pattern):
- match_obj = re.search(pattern, str(prop), re.M | re.I)
- if not match_obj:
- raise ValidateException(f'{prop_name} is not match: {pattern}')
- @staticmethod
- def validate_maximum(num, prop_name, maximum):
- if num > maximum:
- raise ValidateException(f'{prop_name} is greater than the maximum: {maximum}')
- @staticmethod
- def validate_minimum(num, prop_name, minimum):
- if num < minimum:
- raise ValidateException(f'{prop_name} is less than the minimum: {minimum}')
- def __str__(self):
- s = self.to_map()
- if s:
- return str(s)
- else:
- return object.__str__(self)
|