def get_object_defaults(object_schema):
default = {}<EOL>for k, schema in object_schema.get('<STR_LIT>', {}).items():<EOL><INDENT>if schema.get('<STR_LIT:type>') == '<STR_LIT:object>':<EOL><INDENT>if '<STR_LIT:default>' in schema:<EOL><INDENT>default[k] = schema['<STR_LIT:default>']<EOL><DEDENT>try:<EOL><INDENT>object_defaults = get_object_defaults(schema)<EOL><DEDENT>except NoObjectDefaults:<EOL><INDENT>if '<STR_LIT:default>' not in schema:<EOL><INDENT>raise NoObjectDefaults<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if '<STR_LIT:default>' not in schema:<EOL><INDENT>default[k] = {}<EOL><DEDENT>default[k].update(object_defaults)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if '<STR_LIT:default>' in schema:<EOL><INDENT>default[k] = schema['<STR_LIT:default>']<EOL><DEDENT><DEDENT><DEDENT>if default:<EOL><INDENT>return default<EOL><DEDENT>raise NoObjectDefaults<EOL>
Extracts default values dict (nested) from an type object schema.

:param object_schema: Schema type object
:type  object_schema: dict
:returns: Nested dict with defaults values