MCPcopy
hub / github.com/marshmallow-code/marshmallow / _invoke_schema_validators

Method _invoke_schema_validators

src/marshmallow/schema.py:1175–1220  ·  view source on GitHub ↗
(
        self,
        *,
        error_store: ErrorStore,
        pass_collection: bool,
        data,
        original_data,
        many: bool,
        partial: bool | types.StrSequenceOrSet | None,
        field_errors: bool = False,
        unknown: types.UnknownOption | None,
    )

Source from the content-addressed store, hash-verified

1173 data.pop(field_name, None)
1174
1175 def _invoke_schema_validators(
1176 self,
1177 *,
1178 error_store: ErrorStore,
1179 pass_collection: bool,
1180 data,
1181 original_data,
1182 many: bool,
1183 partial: bool | types.StrSequenceOrSet | None,
1184 field_errors: bool = False,
1185 unknown: types.UnknownOption | None,
1186 ):
1187 for attr_name, hook_many, validator_kwargs in self._hooks[VALIDATES_SCHEMA]:
1188 if hook_many != pass_collection:
1189 continue
1190 validator = getattr(self, attr_name)
1191 if field_errors and validator_kwargs["skip_on_field_errors"]:
1192 continue
1193 pass_original = validator_kwargs.get("pass_original", False)
1194
1195 if many and not pass_collection:
1196 for idx, (item, orig) in enumerate(
1197 zip(data, original_data, strict=True)
1198 ):
1199 self._run_validator(
1200 validator,
1201 item,
1202 original_data=orig,
1203 error_store=error_store,
1204 many=many,
1205 partial=partial,
1206 unknown=unknown,
1207 index=idx,
1208 pass_original=pass_original,
1209 )
1210 else:
1211 self._run_validator(
1212 validator,
1213 data,
1214 original_data=original_data,
1215 error_store=error_store,
1216 many=many,
1217 pass_original=pass_original,
1218 partial=partial,
1219 unknown=unknown,
1220 )
1221
1222 def _invoke_processors(
1223 self,

Callers 1

_do_loadMethod · 0.95

Calls 2

_run_validatorMethod · 0.95
getMethod · 0.80

Tested by

no test coverage detected