allow explicit setting of the time stamp when creating a track; this is necessary for processing log file items (access logs)
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2968 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
2af0071972
commit
b850fcdfbf
2 changed files with 8 additions and 4 deletions
|
@ -172,19 +172,23 @@ class TrackingStorage(BTreeContainer):
|
||||||
trackId = self.idFromNum(self.trackNum)
|
trackId = self.idFromNum(self.trackNum)
|
||||||
return trackId, self.trackNum
|
return trackId, self.trackNum
|
||||||
|
|
||||||
def saveUserTrack(self, taskId, runId, userName, data, update=False):
|
def saveUserTrack(self, taskId, runId, userName, data, update=False, timeStamp=None):
|
||||||
|
ts = timeStamp or getTimeStamp()
|
||||||
if not runId:
|
if not runId:
|
||||||
runId = self.currentRuns.get(taskId) or self.startRun(taskId)
|
runId = self.currentRuns.get(taskId) or self.startRun(taskId)
|
||||||
run = self.getRun(runId=runId)
|
run = self.getRun(runId=runId)
|
||||||
if run is None:
|
if run is None:
|
||||||
raise ValueError('Invalid run: %i.' % runId)
|
raise ValueError('Invalid run: %i.' % runId)
|
||||||
run.end = getTimeStamp()
|
if run.end < ts:
|
||||||
|
run.end = ts
|
||||||
if update:
|
if update:
|
||||||
track = self.getLastUserTrack(taskId, runId, userName)
|
track = self.getLastUserTrack(taskId, runId, userName)
|
||||||
if track is not None:
|
if track is not None:
|
||||||
return self.updateTrack(track, data)
|
return self.updateTrack(track, data)
|
||||||
trackId, trackNum = self.generateTrackId()
|
trackId, trackNum = self.generateTrackId()
|
||||||
track = self.trackFactory(taskId, runId, userName, data)
|
track = self.trackFactory(taskId, runId, userName, data)
|
||||||
|
if timeStamp:
|
||||||
|
track.timeStamp = timeStamp
|
||||||
self[trackId] = track
|
self[trackId] = track
|
||||||
self.indexTrack(trackNum, track)
|
self.indexTrack(trackNum, track)
|
||||||
return trackId
|
return trackId
|
||||||
|
|
|
@ -31,8 +31,8 @@ class Logger(object):
|
||||||
|
|
||||||
handler = None
|
handler = None
|
||||||
|
|
||||||
def __init__(self, logname, logfile, logformat='%(asctime)s;%(message)s',
|
def __init__(self, logname, logfile,
|
||||||
**kw):
|
logformat='%(asctime)s;%(message)s', **kw):
|
||||||
self.logname = logname
|
self.logname = logname
|
||||||
self.logfile = logfile
|
self.logfile = logfile
|
||||||
self.logformat = logformat
|
self.logformat = logformat
|
||||||
|
|
Loading…
Add table
Reference in a new issue