Implemented main basically
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2021-04-14 17:41:48 +02:00
parent f8bd18c307
commit 97986d78e5
8 changed files with 152 additions and 44 deletions

View File

@@ -0,0 +1,23 @@
from marshmallow import Schema, fields
from marshmallow.validate import Length, Equal
from marshmallow import RAISE
SUPPORTED_PROGRAM_STRUCTURE_VERSION = 1
class CommandSchema(Schema):
name = fields.Str(required=True)
args = fields.Dict(required=True)
class Meta:
unknown = RAISE
class ProgramSchema(Schema):
version = fields.Int(required=True, validate=Equal(SUPPORTED_PROGRAM_STRUCTURE_VERSION))
name = fields.Str()
load_plugins = fields.List(fields.Str(), required=True)
program = fields.Nested(CommandSchema, many=True, required=True, validate=Length(min=1))
class Meta:
unknown = RAISE