MCPcopy Index your code
hub / github.com/apache/caldera / ParserConfigSchema

Class ParserConfigSchema

app/objects/secondclass/c_parserconfig.py:6–33  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4
5
6class ParserConfigSchema(ma.Schema):
7
8 class Meta:
9 unknown = ma.INCLUDE
10
11 source = ma.fields.String()
12 edge = ma.fields.String(load_default=None)
13 target = ma.fields.String(load_default=None)
14 custom_parser_vals = ma.fields.Dict(keys=ma.fields.String(), values=ma.fields.String())
15
16 @ma.pre_load
17 def check_edge_target(self, in_data, **_):
18 if all(k in in_data.keys() for k in ['edge', 'target']) \
19 and (in_data['edge'] is None) and (in_data['target'] is not None):
20 raise ma.ValidationError('Target provided without an edge.')
21 return in_data
22
23 @ma.post_load()
24 def build_parserconfig(self, data, **_):
25 return ParserConfig(**data)
26
27 @ma.pre_dump()
28 def remove_nones(self, data, **_):
29 data.source = data.source or ''
30 data.edge = data.edge or ''
31 data.target = data.target or ''
32 data.custom_parser_vals = data.custom_parser_vals or {}
33 return data
34
35
36class ParserConfig(BaseObject):

Callers 2

ParserSchemaClass · 0.90
ParserConfigClass · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected