本文整理汇总了Python中storage.Storage.remove方法的典型用法代码示例。如果您正苦于以下问题:Python Storage.remove方法的具体用法?Python Storage.remove怎么用?Python Storage.remove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类storage.Storage
的用法示例。
在下文中一共展示了Storage.remove方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: HashIndex
# 需要导入模块: from storage import Storage [as 别名]
# 或者: from storage.Storage import remove [as 别名]
class HashIndex(Index):
"""
Индекс, опирающийся на результаты работы функции hash
совместно с функцией-селектором.
"""
def __init__(self, config, name, selector=lambda x: x):
super(HashIndex, self).__init__(config, name)
self._selector = selector
self._storage = Storage('LL', self._make_buffer())
# словарь для получения позиции в буфере по id объекта
self._id_to_pos = None
# словарь списков id обхектов,
# ключи которого - результаты вычисления hash(selector(x))
self._index = None
def _build(self):
# построение индекса из буфера
self._id_to_pos = {}
self._index = {}
for pos, (id_, hash_) in enumerate(self._storage):
self._id_to_pos[id_] = pos
self._index.setdefault(hash_, []).append(id_)
@_lazy
def indexate(self, data, id_):
if id_ in self._id_to_pos:
raise ValueError('Object with id="%s" already indexed!' % id_)
hash_ = hash(self._selector(data)) # ключ индекса
self._index.setdefault(hash_, []).append(id_)
self._id_to_pos[id_] = self._storage.add((id_, hash_))
@_lazy
def forget(self, id_):
if id_ not in self._id_to_pos:
raise ValueError('Object with id="%s" is not indexed!' % id_)
for l in self._index.values():
try:
l.remove(id_)
except ValueError:
pass
self._storage.remove(self._id_to_pos[id_])
del self._id_to_pos[id_]
@_lazy
def query(self, val):
return self._index.get(hash(val), [])
示例2: remove
# 需要导入模块: from storage import Storage [as 别名]
# 或者: from storage.Storage import remove [as 别名]
def remove(self, item):
bookmark = self.find(item)
if bookmark:
item_to_delete = None
for it in self.data:
if it['id'] == item['id']:
item_to_delete = it
break
if item_to_delete:
Storage.remove(self, item_to_delete)
self.save()