# -*- coding: utf-8 -*- model = { 'type': 'list', 'required': True, 'nullable': False, 'minlength': 1, 'maxlength': 3, 'schema': { 'type': 'dict', 'required': True, 'schema': { 'code': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'dependencies': 'categories', 'regex': r'^[a-zA-Z0-9]{1,255}$' }, 'categories': { 'type': 'list', 'required': True, 'dependencies': 'code', 'minlength': 1, 'schema': { 'type': 'dict', 'required': True, 'schema': { 'id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,255}$'}, 'config': { 'type': 'dict', 'required': False, 'dependencies': 'id', } } } } } } } # 在线参数校验 ONLINE_START_SCHEMA = { 'request_id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'command': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'allowed': ['start', 'stop'] }, 'pull_url': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'maxlength': 255 }, 'push_url': { 'type': 'string', 'required': True, 'nullable': False, 'empty': False, 'maxlength': 255 }, 'results_base_dir': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{0,36}$' }, 'models': model } # 在线停止参数校验 ONLINE_STOP_SCHEMA = { 'request_id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'command': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'allowed': ['start', 'stop'] } } # 离线开始参数校验 OFFLINE_START_SCHEMA = { 'request_id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'command': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'allowed': ['start', 'stop'] }, 'original_url': { 'type': 'string', 'required': True, 'nullable': False, 'empty': False, 'maxlength': 255 }, 'push_url': { 'type': 'string', 'required': True, 'nullable': False, 'empty': False, 'maxlength': 255 }, 'original_type': { 'type': 'string', 'required': True, 'nullable': False, 'empty': False, 'maxlength': 255 }, 'results_base_dir': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'models': model } # 离线停止参数校验 OFFLINE_STOP_SCHEMA = { 'request_id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'command': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'allowed': ['start', 'stop'] } } # 图片开始参数校验 IMAGE_START_SCHEMA = { 'request_id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'command': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'allowed': ['start', 'stop'] }, 'image_urls': { 'type': 'list', 'required': True, 'minlength': 1, 'schema': { 'type': 'string', 'required': True, 'nullable': False, 'empty': False, 'maxlength': 5000 } }, 'results_base_dir': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'models': model } # 录屏参数校验 RECORDING_START_SCHEMA = { 'request_id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'command': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'allowed': ['start', 'stop'] }, 'pull_url': { 'type': 'string', 'required': True, 'nullable': False, 'empty': False, 'maxlength': 255 }, 'push_url': { 'type': 'string', 'required': True, 'nullable': False, 'empty': False, 'maxlength': 255 } } # 录屏停止参数校验 RECORDING_STOP_SCHEMA = { 'request_id': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'regex': r'^[a-zA-Z0-9]{1,36}$' }, 'command': { 'type': 'string', 'required': True, 'empty': False, 'nullable': False, 'allowed': ['start', 'stop'] } }