
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1421 fd906abe-77d9-0310-91a1-e0d9ade77398
48 lines
1.2 KiB
Text
48 lines
1.2 KiB
Text
====================================
|
|
User tracking in the loops framework
|
|
====================================
|
|
|
|
($Id$)
|
|
|
|
>>> from cybertools.tracking.btree import TrackingStorage
|
|
|
|
>>> tracks = TrackingStorage()
|
|
>>> tracks.saveUserTrack('a001', 0, 'u1', {'somekey': 'somevalue'})
|
|
'0000001'
|
|
>>> t1 = tracks.getUserTracks('a001', 0, 'u1')
|
|
>>> len(t1)
|
|
1
|
|
>>> t1[0].data
|
|
{'somekey': 'somevalue'}
|
|
>>> tracks.getUserNames('a001')
|
|
['u1']
|
|
>>> tracks.getUserNames('a002')
|
|
[]
|
|
>>> [str(id) for id in tracks.getTaskIds()]
|
|
['a001']
|
|
|
|
>>> tracks.query(taskId='a001')
|
|
[<Track ['a001', 1, 'u1', '...-...-... ...:...']: {'somekey': 'somevalue'}>]
|
|
|
|
>>> tracks.saveUserTrack('a002', 0, 'u1', {'somekey': 'anothervalue'})
|
|
'0000002'
|
|
>>> result = tracks.query(userName='u1')
|
|
>>> len(result)
|
|
2
|
|
|
|
What happens if we store more than on record for one set of keys?
|
|
|
|
>>> tracks.saveUserTrack('a001', 0, 'u1', {'somekey': 'newvalue'})
|
|
'0000003'
|
|
>>> t2 = tracks.getUserTracks('a001', 0, 'u1')
|
|
>>> [t.data for t in t2]
|
|
[{'somekey': 'somevalue'}, {'somekey': 'newvalue'}]
|
|
|
|
The tracks of a tracking store may be reindexed:
|
|
|
|
>>> tracks.reindexTracks()
|
|
|
|
|
|
Fin de partie
|
|
=============
|
|
|