33 lines
762 B
Python
33 lines
762 B
Python
# loops.organize.tracking.storage.compat
|
|
|
|
"""loops compatibility layer on cco.storage.tracking.
|
|
|
|
Provides a Container subclass that defines methods from cybertools...TrackingStorage
|
|
used by code based on loops.organize.tracking.
|
|
"""
|
|
|
|
from cco.storage.tracking import record
|
|
|
|
|
|
class Track(record.Track):
|
|
|
|
@property
|
|
def taskId(self):
|
|
return self.head.get('taskId')
|
|
|
|
|
|
class Container(record.Container):
|
|
|
|
itemFactory = Track
|
|
|
|
def saveUserTrack(self, taskId, runId, userName, data):
|
|
track = self.itemFactory(taskId, userName, data=data)
|
|
return self.save(track)
|
|
|
|
def setTrackData(self, track, data):
|
|
track.data = data
|
|
self.update(track)
|
|
|
|
def removeTrack(self, track):
|
|
self.remove(track.trackId)
|
|
|