@classmethod
def read(cls, iprot):
    """
        Read a new object from the given input protocol and return the object.

        :type iprot: thryft.protocol._input_protocol._InputProtocol
        :rtype: pastpy.gen.database.impl.online.online_database_objects_list_item.OnlineDatabaseObjectsListItem
        """
    init_kwds = {}
    iprot.read_struct_begin()
    while True:
        ifield_name, ifield_type, _ifield_id = iprot.read_field_begin()
        if ifield_type == 0:
            break
        elif ifield_name == 'detail_href':
            init_kwds['detail_href'] = iprot.read_string()
        elif ifield_name == 'record_type':
            init_kwds['record_type'] = iprot.read_string()
        elif ifield_name == 'title':
            init_kwds['title'] = iprot.read_string()
        elif ifield_name == 'thumbnail_url':
            try:
                init_kwds['thumbnail_url'] = iprot.read_string()
            except (TypeError, ValueError):
                pass
        iprot.read_field_end()
    iprot.read_struct_end()
    return cls(**init_kwds)
