Esempio n. 1
0
 def __init__(self):
     lazy_meta(self)
     self.meta.datasets = {}
     self.meta.dataset_keys = []
     self.meta._cache = ObjRegistry()
Esempio n. 2
0
 def register(self, obj, level):
     """register this object as "loaded" at level
     """
     id = ObjRegistry.register(self, obj)
     self._pushid(id, level)
     return id
Esempio n. 3
0
        
        """
        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``
Esempio n. 4
0
 def clear(self):
     ObjRegistry.clear(self)
     # this is an attempt to free up refs to database connections:
     self.tree = {}
     self.limit = {}
Esempio n. 5
0
 def __init__(self):
     ObjRegistry.__init__(self)
     self.tree = {}
     self.limit = {}
Esempio n. 6
0
 def __init__(self):
     ObjRegistry.__init__(self)
     self.tree = {}
     self.limit = {}
Esempio n. 7
0
 def register(self, obj, level):
     """register this object as "loaded" at level
     """
     id = ObjRegistry.register(self, obj)
     self._pushid(id, level)
     return id
Esempio n. 8
0
 def clear(self):
     """clear internal registry"""
     ObjRegistry.clear(self)
     # this is an attempt to free up refs to database connections:
     self.tree = {}
     self.limit = {}