File tree 2 files changed +6
-2
lines changed
2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -67,8 +67,12 @@ def __init__(
67
67
68
68
self ._source = _source
69
69
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.
70
74
@property
71
- def __dict__ (self ):
75
+ def __newdict__ (self ):
72
76
return self ._source or self .to_dict ()
73
77
74
78
def to_dict (self ):
Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ def get_validator(self, schema):
86
86
}
87
87
if self .context is not None :
88
88
kwargs [self .CONTEXT_VALIDATION [self .context ]] = True
89
- return OAS30Validator (schema .__dict__ , ** kwargs )
89
+ return OAS30Validator (schema .__newdict__ , ** kwargs )
90
90
91
91
def _get_format_checker (self ):
92
92
fc = deepcopy (oas30_format_checker )
You can’t perform that action at this time.
0 commit comments