redefine AccessRecordManager as an IJobManager adapter

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3020 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2008-12-01 10:23:02 +00:00
parent e184ed92a7
commit 75dc6ec50b
5 changed files with 33 additions and 7 deletions

Binary file not shown.

View file

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: $Id$\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\n"
"PO-Revision-Date: 2008-10-15 12:00 CET\n"
"PO-Revision-Date: 2008-11-01 12:00 CET\n"
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n"
@ -377,3 +377,6 @@ msgstr "loops-Notiz anlegen"
msgid "State information for $definition: $title"
msgstr "Status ($definition): $title"
msgid "User ID"
msgstr "Benutzerkennung"

View file

@ -89,6 +89,7 @@ in the request; all collected data are then written triggered by the
EndRequestEvent.
>>> from loops.organize.tracking.access import logfile_option, record, logAccess
>>> #from loops.organize.tracking.access import AccessRecordManagerView
>>> from loops.organize.tracking.access import AccessRecordManager
>>> from loops.organize.tracking.tests import testDir
>>> from loops.browser.node import NodeView
@ -121,7 +122,8 @@ of job control.
>>> len(access)
0
>>> rm = AccessRecordManager(loopsRoot, TestRequest())
>>> #rm = AccessRecordManagerView(loopsRoot, TestRequest())
>>> rm = AccessRecordManager(loopsRoot)
>>> rm.baseDir = testDir
>>> rm.loadRecordsFromLog()
>>> len(access)
@ -138,7 +140,7 @@ Tracking Reports
>>> result['macro'][4][1][u'define-macro']
u'overview'
>>> result['data']
[{'access': 2, 'new': 0, 'changed': 1, 'period': '2008-11', 'count': 3}]
[{'access': 2, 'new': 0, 'changed': 1, 'period': '...', 'count': 3}]
Fin de partie

View file

@ -38,6 +38,7 @@ from cybertools.tracking.btree import Track, getTimeStamp
from cybertools.tracking.interfaces import ITrack
from cybertools.tracking.logfile import Logger, loggers
from loops.interfaces import ILoopsObject
from loops.organize.job.base import JobManager
from loops.organize.tracking.base import BaseRecordManager
from loops import util
@ -95,15 +96,17 @@ def marshall(data):
# record manager
class AccessRecordManager(BaseRecordManager):
class AccessRecordManager(BaseRecordManager, JobManager):
storageName = 'access'
def __init__(self, context, request):
def __init__(self, context):
self.context = context
self.request = request
self.baseDir = util.getVarDirectory()
def process(self):
self.loadRecordsFromLog()
@Lazy
def logfile(self):
value = self.options(logfile_option)
@ -161,6 +164,16 @@ class AccessRecordManager(BaseRecordManager):
timeStamp=timeStamp)
class AccessRecordManagerView(AccessRecordManager):
# obsolete, records are now loaded via AccessRecordManager adapter
# that is called via a job executor view.
def __init__(self, context, request):
self.context = context
self.request = request
self.baseDir = util.getVarDirectory()
class IAccessRecord(ITrack):
pass

View file

@ -26,6 +26,14 @@
<zope:subscriber handler="loops.organize.tracking.access.logAccess" />
<zope:adapter
factory="loops.organize.tracking.access.AccessRecordManager"
name="load_access_records"
trusted="True" />
<zope:class class="loops.organize.tracking.access.AccessRecordManager">
<allow attributes="process" />
</zope:class>
<!-- views -->
<browser:page
@ -51,7 +59,7 @@
<browser:page
name="load_access_records"
for="loops.interfaces.ILoops"
class="loops.organize.tracking.access.AccessRecordManager"
class="loops.organize.tracking.access.AccessRecordManagerView"
attribute="loadRecordsFromLog"
permission="zope.Public" />