def delete(self, index, doc_type, id, params=None, headers=None): found = False ignore = extract_ignore_as_iterable(params) if index in self.__documents_dict: for document in self.__documents_dict[index]: if document.get('_type') == doc_type and document.get( '_id') == id: found = True self.__documents_dict[index].remove(document) break result_dict = { 'found': found, '_index': index, '_type': doc_type, '_id': id, '_version': 1, } if found: return result_dict elif params and 404 in ignore: return {'found': False} else: raise NotFoundError(404, json.dumps(result_dict))
def get(self, index, id, doc_type='_all', params=None, headers=None): ignore = extract_ignore_as_iterable(params) result = None if index in self.__documents_dict: for document in self.__documents_dict[index]: if document.get('_id') == id: if doc_type == '_all': result = document break else: if document.get('_type') == doc_type: result = document break if result: result['found'] = True return result elif params and 404 in ignore: return {'found': False} else: error_data = { '_index': index, '_type': doc_type, '_id': id, 'found': False } raise NotFoundError(404, json.dumps(error_data))