|
- # -*- 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']
- }
- }
|