66 lines
2.1 KiB
Python
66 lines
2.1 KiB
Python
from Utils.ObjUtil import SpecObject
|
|
from Utils.ValidateUtil import ValidateAttr
|
|
|
|
|
|
class Complement(SpecObject):
|
|
"""补充校验"""
|
|
length = ValidateAttr(field="length", type=int)
|
|
in_list = ValidateAttr(field="in_list", type=list)
|
|
|
|
fields_map = {
|
|
"length": "长度",
|
|
"in_list": "包含数据"
|
|
}
|
|
|
|
|
|
class Parameter(SpecObject):
|
|
"""类对象参数"""
|
|
attribute = ValidateAttr(field="attribute", type=str)
|
|
verify = ValidateAttr(field="verify", type=str, in_list=['type', 'instance_list', 'func'])
|
|
type = ValidateAttr(field="type", type=list)
|
|
chinese = ValidateAttr(field="chinese", type=str)
|
|
default = ValidateAttr(field="default", type=str)
|
|
complement = ValidateAttr(field="complement", type=Complement)
|
|
required = ValidateAttr(field="required", type=str)
|
|
|
|
fields_map = {
|
|
"attribute": "属性",
|
|
"verify": "校验",
|
|
"type": "类型",
|
|
"chinese": "中文名",
|
|
"default": "默认",
|
|
"complement": "补充校验",
|
|
"required": "必填"
|
|
}
|
|
|
|
|
|
class ClassData(SpecObject):
|
|
"""类对象数据"""
|
|
class_name = ValidateAttr(field="class_name", type=str)
|
|
parameter = ValidateAttr(field="parameter", instance_list=Parameter)
|
|
|
|
fields_map = {
|
|
"class_name": "类名",
|
|
"parameter": "参数"
|
|
}
|
|
|
|
|
|
class FilePackageObj(SpecObject):
|
|
"""文件生成器"""
|
|
package_name = ValidateAttr(field="package_name", type=str)
|
|
obj_name = ValidateAttr(field="obj_name", type=str)
|
|
class_data = ValidateAttr(field="class_data", instance_list=ClassData)
|
|
impl_name = ValidateAttr(field="impl_name", type=str)
|
|
impl_range = ValidateAttr(field="impl_range", type=list)
|
|
route_name = ValidateAttr(field="route_name", type=str)
|
|
route_prefix = ValidateAttr(field="route_prefix", type=str)
|
|
|
|
fields_map = {
|
|
"package_name": "包名",
|
|
"obj_name": "对象文件名",
|
|
"class_data": "类对象数据",
|
|
"impl_name": "实现文件名",
|
|
"impl_range": "方法范围",
|
|
"route_name": "路由文件名",
|
|
"route_prefix": "路由前缀"
|
|
} |