api-datamanager/Modules/File/FileObj.py

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": "路由前缀"
}