更新Utils

This commit is contained in:
王思川 2022-04-22 10:28:59 +08:00
parent 458fe0307d
commit c8a23db1f8
2 changed files with 42 additions and 7 deletions

View File

@ -1,4 +1,5 @@
class SpecObject(object): class SpecObject(object):
"""自定义类""" """自定义类"""
@ -52,8 +53,24 @@ class SpecObject(object):
return _dict_ return _dict_
# def dict_to_post(self, **kwargs): @staticmethod
# if kwargs.__contains__('data'): def dict_to_set(**kwargs):
# fields_map = dict([v, k] for k, v in self.fields_map.items()) """实例设值"""
# for field in list(kwargs['data'].keys()): instance = kwargs['instance']()
# self.__setattr__(fields_map[field], kwargs['data'][field]) fields_map = dict([v, k] for k, v in instance.fields_map.items())
for field in list(kwargs['data'].keys()):
instance.__setattr__(fields_map[field], kwargs['data'][field])
return instance
@staticmethod
def instance_list_to_set(**kwargs):
"""实例数组设值"""
list_ = list()
for item in list(kwargs['data']):
instance = kwargs['instance']()
fields_map = dict([v, k] for k, v in instance.fields_map.items())
for field in list(item.keys()):
instance.__setattr__(fields_map[field], item[field])
list_.append(instance)
return list_

View File

@ -20,6 +20,20 @@ class Validate(object):
case = (len(param) >= 8) and (re.match(regex, param) is not None) case = (len(param) >= 8) and (re.match(regex, param) is not None)
return True if case else False return True if case else False
@staticmethod
def date_format(param):
"""yyyy-mm-dd"""
regex = "\d{4}-\d{1,2}-\d{1,2}"
case = re.match(regex, param) is not None
return True if case else False
@staticmethod
def time_format(param):
"""yyyy-mm-dd hh:mm:ss"""
regex = "\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}"
case = re.match(regex, param) is not None
return True if case else False
@staticmethod @staticmethod
def image(param): def image(param):
"""""" """"""
@ -51,8 +65,12 @@ class ValidateAttr(object):
if 'type' in self.kwargs: if 'type' in self.kwargs:
"""检查实例的属性类型""" """检查实例的属性类型"""
if not isinstance(value, self.kwargs['type']): if type(self.kwargs['type']) is list:
raise ReturnConditionCheckFailed(self.error_info, self.error_code) if type(value) not in self.kwargs['type']:
raise ReturnConditionCheckFailed(self.error_info, self.error_code)
else:
if not isinstance(value, self.kwargs['type']):
raise ReturnConditionCheckFailed(self.error_info, self.error_code)
if 'length' in self.kwargs: if 'length' in self.kwargs:
"""检查实例的属性值长度(一般是str类型)""" """检查实例的属性值长度(一般是str类型)"""