def __schemas_descriptor(self):
<EOL>result = {}<EOL>for schema_key, schema_value in self.__parser.schemas().iteritems():<EOL><INDENT>field_keys = schema_value.keys()<EOL>key_result = {}<EOL>if '<STR_LIT>' in field_keys:<EOL><INDENT>key_result['<STR_LIT>'] = schema_value['<STR_LIT>'].copy()<EOL>for prop_key, prop_value in schema_value['<STR_LIT>'].iteritems():<EOL><INDENT>if '<STR_LIT>' in prop_value:<EOL><INDENT>num_enums = len(prop_value['<STR_LIT>'])<EOL>key_result['<STR_LIT>'][prop_key]['<STR_LIT>'] = (<EOL>['<STR_LIT>'] * num_enums)<EOL><DEDENT>elif '<STR_LIT:default>' in prop_value:<EOL><INDENT>if prop_value.get('<STR_LIT:type>') == '<STR_LIT>':<EOL><INDENT>prop_value['<STR_LIT:default>'] = '<STR_LIT:true>' if prop_value['<STR_LIT:default>'] else '<STR_LIT:false>'<EOL><DEDENT>else:<EOL><INDENT>prop_value['<STR_LIT:default>'] = str(prop_value['<STR_LIT:default>'])<EOL><DEDENT><DEDENT>key_result['<STR_LIT>'][prop_key].pop('<STR_LIT>', None)<EOL><DEDENT><DEDENT>for key in ('<STR_LIT:type>', '<STR_LIT:id>', '<STR_LIT:description>'):<EOL><INDENT>if key in field_keys:<EOL><INDENT>key_result[key] = schema_value[key]<EOL><DEDENT><DEDENT>if key_result:<EOL><INDENT>result[schema_key] = key_result<EOL><DEDENT><DEDENT>for schema_value in result.itervalues():<EOL><INDENT>for field_value in schema_value.itervalues():<EOL><INDENT>if isinstance(field_value, dict):<EOL><INDENT>if '<STR_LIT>' in field_value:<EOL><INDENT>field_value['<STR_LIT:type>'] = '<STR_LIT:object>'<EOL><DEDENT><DEDENT><DEDENT><DEDENT>return result<EOL>
Describes the schemas section of the discovery document.

        Returns:
          Dictionary describing the schemas of the document.