@@ -68,7 +68,7 @@ def __init__(
6868 self , schema_type = None , model = None , properties = None , items = None ,
6969 schema_format = None , required = None , default = None , nullable = False ,
7070 enum = None , deprecated = False , all_of = None , one_of = None ,
71- additional_properties = None , min_items = None , max_items = None ,
71+ additional_properties = True , min_items = None , max_items = None ,
7272 min_length = None , max_length = None , pattern = None , unique_items = False ,
7373 minimum = None , maximum = None , multiple_of = None ,
7474 exclusive_minimum = False , exclusive_maximum = False ,
@@ -284,14 +284,15 @@ def _unmarshal_properties(self, value, one_of_schema=None,
284284
285285 value_props_names = value .keys ()
286286 extra_props = set (value_props_names ) - set (all_props_names )
287- if extra_props and self .additional_properties is None :
287+ if extra_props and self .additional_properties is False :
288288 raise UndefinedSchemaProperty (extra_props )
289289
290290 properties = {}
291- for prop_name in extra_props :
292- prop_value = value [prop_name ]
293- properties [prop_name ] = self .additional_properties .unmarshal (
294- prop_value , custom_formatters = custom_formatters )
291+ if self .additional_properties is not True :
292+ for prop_name in extra_props :
293+ prop_value = value [prop_name ]
294+ properties [prop_name ] = self .additional_properties .unmarshal (
295+ prop_value , custom_formatters = custom_formatters )
295296
296297 for prop_name , prop in iteritems (all_props ):
297298 try :
@@ -515,13 +516,14 @@ def _validate_properties(self, value, one_of_schema=None,
515516
516517 value_props_names = value .keys ()
517518 extra_props = set (value_props_names ) - set (all_props_names )
518- if extra_props and self .additional_properties is None :
519+ if extra_props and self .additional_properties is False :
519520 raise UndefinedSchemaProperty (extra_props )
520521
521- for prop_name in extra_props :
522- prop_value = value [prop_name ]
523- self .additional_properties .validate (
524- prop_value , custom_formatters = custom_formatters )
522+ if self .additional_properties is not True :
523+ for prop_name in extra_props :
524+ prop_value = value [prop_name ]
525+ self .additional_properties .validate (
526+ prop_value , custom_formatters = custom_formatters )
525527
526528 for prop_name , prop in iteritems (all_props ):
527529 try :
0 commit comments