def _from_python_type(self, obj, field, pytype):
        """Get schema definition from python type."""
        json_schema = {
            'title': field.attribute or field.name,
        }

        for key, val in TYPE_MAP[pytype].items():
            json_schema[key] = val

        if field.dump_only:
            json_schema['readonly'] = True

        if field.default is not missing:
            json_schema['default'] = field.default

        # NOTE: doubled up to maintain backwards compatibility
        metadata = field.metadata.get('metadata', {})
        metadata.update(field.metadata)

        for md_key, md_val in metadata.items():
            if md_key == 'metadata':
                continue
            json_schema[md_key] = md_val

        if isinstance(field, fields.List):
            json_schema['items'] = self._get_schema_for_field(
                obj, field.container
            )
        return json_schema
def _from_python_type ( self , obj , field , pytype ) : json_schema = { 'title' : field . attribute or field . name , } for key , val in TYPE_MAP [ pytype ] . items ( ) : json_schema [ key ] = val if field . dump_only : json_schema [ 'readonly' ] = True if field . default is not missing : json_schema [ 'default' ] = field . default metadata = field . metadata . get ( 'metadata' , { } ) metadata . update ( field . metadata ) for md_key , md_val in metadata . items ( ) : if md_key == 'metadata' : continue json_schema [ md_key ] = md_val if isinstance ( field , fields . List ) : json_schema [ 'items' ] = self . _get_schema_for_field ( obj , field . container ) return json_schema
Get schema definition from python type.