tracks: determine indexAttributes dynamically, allowing later change
This commit is contained in:
parent
df1229d8fd
commit
12978d2389
1 changed files with 8 additions and 3 deletions
|
@ -101,7 +101,7 @@ class Track(Persistent):
|
||||||
class TrackingStorage(BTreeContainer):
|
class TrackingStorage(BTreeContainer):
|
||||||
|
|
||||||
trackFactory = Track
|
trackFactory = Track
|
||||||
indexAttributes = trackFactory.index_attributes
|
#indexAttributes = trackFactory.index_attributes
|
||||||
|
|
||||||
trackNum = runId = 0
|
trackNum = runId = 0
|
||||||
runs = None # currently active runs
|
runs = None # currently active runs
|
||||||
|
@ -109,14 +109,19 @@ class TrackingStorage(BTreeContainer):
|
||||||
currentRuns = None # the currently active run for each task
|
currentRuns = None # the currently active run for each task
|
||||||
storage = None # compatibility with new cco.storage
|
storage = None # compatibility with new cco.storage
|
||||||
|
|
||||||
|
@property
|
||||||
|
def indexAttributes(self):
|
||||||
|
return self.trackFactory.index_attributes
|
||||||
|
|
||||||
def __init__(self, *args, **kw):
|
def __init__(self, *args, **kw):
|
||||||
trackFactory = kw.pop('trackFactory', None)
|
trackFactory = kw.pop('trackFactory', None)
|
||||||
if trackFactory is not None:
|
if trackFactory is not None:
|
||||||
self.trackFactory = trackFactory
|
self.trackFactory = trackFactory
|
||||||
self.indexAttributes = trackFactory.index_attributes
|
#self.indexAttributes = trackFactory.index_attributes
|
||||||
super(TrackingStorage, self).__init__(*args, **kw)
|
super(TrackingStorage, self).__init__(*args, **kw)
|
||||||
self.indexes = OOBTree.OOBTree()
|
self.indexes = OOBTree.OOBTree()
|
||||||
for idx in self.indexAttributes:
|
#for idx in self.indexAttributes:
|
||||||
|
for idx in (trackFactory or self.trackFactory).index_attributes:
|
||||||
self.indexes[idx] = FieldIndex()
|
self.indexes[idx] = FieldIndex()
|
||||||
self.runs = IOBTree.IOBTree()
|
self.runs = IOBTree.IOBTree()
|
||||||
self.finishedRuns = IOBTree.IOBTree()
|
self.finishedRuns = IOBTree.IOBTree()
|
||||||
|
|
Loading…
Add table
Reference in a new issue