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:
		
							parent
							
								
									e184ed92a7
								
							
						
					
					
						commit
						75dc6ec50b
					
				
					 5 changed files with 33 additions and 7 deletions
				
			
		
										
											Binary file not shown.
										
									
								
							|  | @ -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" | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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" /> | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 helmutm
						helmutm