class BookmarkContainer(object):
_page_url = None
_category = None
def __init__(self, bookmarks=[]):
self.bookmarks = bookmarks
self.id_dict = {}
self.TRACE = False
def __len__(self):
return len(self.bookmarks)
def __getitem__(self, key):
return self.bookmarks[key]
def __setitem__(self, key, value):
self.bookmarks[key] = value
self._reindex()
def __delitem__(self, key):
self.bookmarks.remove(key)
def __contains__(self, item):
return item in self.bookmarks
def __iter__(self):
return iter(self.bookmarks)
def append(self, val):
self.bookmarks.append(val)
def extend(self, aseq):
[self.bookmarks.append(a) for a in aseq]
def _reindex(self):
for bm in self.bookmarks:
if bm.id not in self.id_dict:
self.id_dict[bm.id] = bm
syntax highlighted by Code2HTML, v. 0.9.1