File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -67,8 +67,12 @@ def __init__(
6767
6868 self ._source = _source
6969
70+ # Overriding object.__dict__ is a VERY bad idea as it totally breaks any
71+ # possibility of pickling this object. Pickling marshalls via object.__dict__
72+ # via default __getstate__ and __setstate__ methods. This is now renamed to
73+ # keep the functionality for the validators, but keep pickling operational.
7074 @property
71- def __dict__ (self ):
75+ def __newdict__ (self ):
7276 return self ._source or self .to_dict ()
7377
7478 def to_dict (self ):
Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ def get_validator(self, schema):
8686 }
8787 if self .context is not None :
8888 kwargs [self .CONTEXT_VALIDATION [self .context ]] = True
89- return OAS30Validator (schema .__dict__ , ** kwargs )
89+ return OAS30Validator (schema .__newdict__ , ** kwargs )
9090
9191 def _get_format_checker (self ):
9292 fc = deepcopy (oas30_format_checker )
You can’t perform that action at this time.
0 commit comments