@@ -65,7 +65,7 @@ def __init__(
6565 self , schema_type = None , model = None , properties = None , items = None ,
6666 schema_format = None , required = None , default = None , nullable = False ,
6767 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 ,
6969 min_length = None , max_length = None , pattern = None , unique_items = False ,
7070 minimum = None , maximum = None , multiple_of = None ,
7171 exclusive_minimum = False , exclusive_maximum = False ,
@@ -311,14 +311,15 @@ def _unmarshal_properties(self, value, one_of_schema=None,
311311
312312 value_props_names = value .keys ()
313313 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 :
315315 raise UndefinedSchemaProperty (extra_props )
316316
317317 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 )
322323
323324 for prop_name , prop in iteritems (all_props ):
324325 try :
@@ -542,13 +543,14 @@ def _validate_properties(self, value, one_of_schema=None,
542543
543544 value_props_names = value .keys ()
544545 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 :
546547 raise UndefinedSchemaProperty (extra_props )
547548
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 )
552554
553555 for prop_name , prop in iteritems (all_props ):
554556 try :
0 commit comments