|
class list(xml):
"""Implements a repository manager list.
"""
def __init__ (self, repository, id=None):
self._repository = repository
self._listid = id
self.reset()
def reset (self):
self._keys = []
self._recs = []
self._lookup = {}
if self._listid != None:
self._list = self._repository.defn (self._listid).new_copy()
else:
self._list = xml.create ('list')
def query (self, where=''):
self.reset()
self._list.set ('where', where)
self._keys = repmgr.list (self._repository.repos, self._list._xml)
self._recs = self._list.elements()
for r in self._recs:
self._lookup[r.attrval('id')] = r
def keys (self):
return self._keys
def __str__ (self):
return self._list.__str__()
def __repr__ (self):
return self._list.__repr__()
def __getitem__ (self, key):
return self._lookup[key]
#def setquery
#def rewind
#def advance
#def current
#def prev
#def next
|