@@ -65,7 +65,7 @@ def __init__(
65
65
self , schema_type = None , model = None , properties = None , items = None ,
66
66
schema_format = None , required = None , default = None , nullable = False ,
67
67
enum = None , deprecated = False , all_of = None , one_of = None ,
68
- additional_properties = None , min_items = None , max_items = None ,
68
+ additional_properties = True , min_items = None , max_items = None ,
69
69
min_length = None , max_length = None , pattern = None , unique_items = False ,
70
70
minimum = None , maximum = None , multiple_of = None ,
71
71
exclusive_minimum = False , exclusive_maximum = False ,
@@ -311,14 +311,15 @@ def _unmarshal_properties(self, value, one_of_schema=None,
311
311
312
312
value_props_names = value .keys ()
313
313
extra_props = set (value_props_names ) - set (all_props_names )
314
- if extra_props and self .additional_properties is None :
314
+ if extra_props and self .additional_properties is False :
315
315
raise UndefinedSchemaProperty (extra_props )
316
316
317
317
properties = {}
318
- for prop_name in extra_props :
319
- prop_value = value [prop_name ]
320
- properties [prop_name ] = self .additional_properties .unmarshal (
321
- prop_value , custom_formatters = custom_formatters )
318
+ if self .additional_properties is not True :
319
+ for prop_name in extra_props :
320
+ prop_value = value [prop_name ]
321
+ properties [prop_name ] = self .additional_properties .unmarshal (
322
+ prop_value , custom_formatters = custom_formatters )
322
323
323
324
for prop_name , prop in iteritems (all_props ):
324
325
try :
@@ -542,13 +543,14 @@ def _validate_properties(self, value, one_of_schema=None,
542
543
543
544
value_props_names = value .keys ()
544
545
extra_props = set (value_props_names ) - set (all_props_names )
545
- if extra_props and self .additional_properties is None :
546
+ if extra_props and self .additional_properties is False :
546
547
raise UndefinedSchemaProperty (extra_props )
547
548
548
- for prop_name in extra_props :
549
- prop_value = value [prop_name ]
550
- self .additional_properties .validate (
551
- prop_value , custom_formatters = custom_formatters )
549
+ if self .additional_properties is not True :
550
+ for prop_name in extra_props :
551
+ prop_value = value [prop_name ]
552
+ self .additional_properties .validate (
553
+ prop_value , custom_formatters = custom_formatters )
552
554
553
555
for prop_name , prop in iteritems (all_props ):
554
556
try :
0 commit comments