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