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" "Project-Id-Version: $Id$\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\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" "Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n" "Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -377,3 +377,6 @@ msgstr "loops-Notiz anlegen"
msgid "State information for $definition: $title" msgid "State information for $definition: $title"
msgstr "Status ($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. EndRequestEvent.
>>> from loops.organize.tracking.access import logfile_option, record, logAccess >>> 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.access import AccessRecordManager
>>> from loops.organize.tracking.tests import testDir >>> from loops.organize.tracking.tests import testDir
>>> from loops.browser.node import NodeView >>> from loops.browser.node import NodeView
@ -121,7 +122,8 @@ of job control.
>>> len(access) >>> len(access)
0 0
>>> rm = AccessRecordManager(loopsRoot, TestRequest()) >>> #rm = AccessRecordManagerView(loopsRoot, TestRequest())
>>> rm = AccessRecordManager(loopsRoot)
>>> rm.baseDir = testDir >>> rm.baseDir = testDir
>>> rm.loadRecordsFromLog() >>> rm.loadRecordsFromLog()
>>> len(access) >>> len(access)
@ -138,7 +140,7 @@ Tracking Reports
>>> result['macro'][4][1][u'define-macro'] >>> result['macro'][4][1][u'define-macro']
u'overview' u'overview'
>>> result['data'] >>> 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 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.interfaces import ITrack
from cybertools.tracking.logfile import Logger, loggers from cybertools.tracking.logfile import Logger, loggers
from loops.interfaces import ILoopsObject from loops.interfaces import ILoopsObject
from loops.organize.job.base import JobManager
from loops.organize.tracking.base import BaseRecordManager from loops.organize.tracking.base import BaseRecordManager
from loops import util from loops import util
@ -95,15 +96,17 @@ def marshall(data):
# record manager # record manager
class AccessRecordManager(BaseRecordManager): class AccessRecordManager(BaseRecordManager, JobManager):
storageName = 'access' storageName = 'access'
def __init__(self, context, request): def __init__(self, context):
self.context = context self.context = context
self.request = request
self.baseDir = util.getVarDirectory() self.baseDir = util.getVarDirectory()
def process(self):
self.loadRecordsFromLog()
@Lazy @Lazy
def logfile(self): def logfile(self):
value = self.options(logfile_option) value = self.options(logfile_option)
@ -161,6 +164,16 @@ class AccessRecordManager(BaseRecordManager):
timeStamp=timeStamp) 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): class IAccessRecord(ITrack):
pass pass

View file

@ -26,6 +26,14 @@
<zope:subscriber handler="loops.organize.tracking.access.logAccess" /> <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 --> <!-- views -->
<browser:page <browser:page
@ -51,7 +59,7 @@
<browser:page <browser:page
name="load_access_records" name="load_access_records"
for="loops.interfaces.ILoops" for="loops.interfaces.ILoops"
class="loops.organize.tracking.access.AccessRecordManager" class="loops.organize.tracking.access.AccessRecordManagerView"
attribute="loadRecordsFromLog" attribute="loadRecordsFromLog"
permission="zope.Public" /> permission="zope.Public" />