def __init__(self): lazy_meta(self) self.meta.datasets = {} self.meta.dataset_keys = [] self.meta._cache = ObjRegistry()
def register(self, obj, level): """register this object as "loaded" at level """ id = ObjRegistry.register(self, obj) self._pushid(id, level) return id
""" try: return self[self._ds_key_map[key]] except (IndexError, KeyError): etype, val, tb = sys.exc_info() raise etype("row '%s' hasn't been loaded for %s (loaded: %s)" % (key, self.dataset, self)), None, tb def store(self, key, obj): self.append(obj) pos = len(self) - 1 self._ds_key_map[key] = pos dataset_registry = ObjRegistry() class DataSetMeta(DataContainer.Meta): """ Configures a DataSet class. When defining a :class:`DataSet` class, declare this as ``DataSet.Meta`` to configure the ``DataSet``. The following are acknowledged attributes: ``storable`` an object that should be used to store this :class:`DataSet`. If omitted the loader's :class:`Style <fixture.style>` object will look for a storable object in its env, using ``storable_name`` ``storable_name``
def clear(self): ObjRegistry.clear(self) # this is an attempt to free up refs to database connections: self.tree = {} self.limit = {}
def __init__(self): ObjRegistry.__init__(self) self.tree = {} self.limit = {}
def clear(self): """clear internal registry""" ObjRegistry.clear(self) # this is an attempt to free up refs to database connections: self.tree = {} self.limit = {}