[Checkins] SVN: z3c.resourcecollector/trunk/ - make it possible to
add collector items before the collector is defined
Juergen Kartnaller
juergen at kartnaller.at
Mon May 26 05:42:41 EDT 2008
Log message for revision 86961:
- make it possible to add collector items before the collector is defined
Changed:
_U z3c.resourcecollector/trunk/
U z3c.resourcecollector/trunk/CHANGES.txt
U z3c.resourcecollector/trunk/setup.py
U z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.py
U z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.txt
-=-
Property changes on: z3c.resourcecollector/trunk
___________________________________________________________________
Name: svn:ignore
+ develop-eggs
bin
parts
.installed.cfg
Modified: z3c.resourcecollector/trunk/CHANGES.txt
===================================================================
--- z3c.resourcecollector/trunk/CHANGES.txt 2008-05-26 09:36:51 UTC (rev 86960)
+++ z3c.resourcecollector/trunk/CHANGES.txt 2008-05-26 09:42:40 UTC (rev 86961)
@@ -5,6 +5,11 @@
TODO: add tests for the viewlets !!!!
Fix the workaround in getUrl of the utility.
+2008/02/01 1.0.4
+----------------
+
+ - make it possible to add collector items before the collector is defined
+
2008/02/01 1.0.3
----------------
Modified: z3c.resourcecollector/trunk/setup.py
===================================================================
--- z3c.resourcecollector/trunk/setup.py 2008-05-26 09:36:51 UTC (rev 86960)
+++ z3c.resourcecollector/trunk/setup.py 2008-05-26 09:42:40 UTC (rev 86961)
@@ -3,7 +3,7 @@
from setuptools import setup, find_packages, Extension
setup(name='z3c.resourcecollector',
- version='1.0.3',
+ version='1.0.4',
url='https://svn.lovelysystems.com/repos/dev/package/z3c.resourcecollector',
license='ZPL',
description='',
Modified: z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.py
===================================================================
--- z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.py 2008-05-26 09:36:51 UTC (rev 86960)
+++ z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.py 2008-05-26 09:42:40 UTC (rev 86961)
@@ -79,9 +79,16 @@
)
def handleCollectorItem(_context, collector, item, weight):
+ _context.action(
+ discriminator = (collector, item),
+ callable = addCollectorItem,
+ args = (collector, item, weight)
+ )
+def addCollectorItem(collector, item, weight):
rs = zope.component.getUtility(ICollectorUtility, collector)
resource = {}
resource['weight']=weight
resource['resource']=item
rs.resources[item]=resource
+
Modified: z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.txt
===================================================================
--- z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.txt 2008-05-26 09:36:51 UTC (rev 86960)
+++ z3c.resourcecollector/trunk/src/z3c/resourcecollector/zcml.txt 2008-05-26 09:42:40 UTC (rev 86961)
@@ -119,7 +119,38 @@
I am resource "res_test1.js"
I am resource "res_test2.js"
+It is possible to add items to a collector which is declared later.
+ >>> context = xmlconfig.string('''
+ ... <configure xmlns="http://namespaces.zope.org/browser">
+ ... <include package="z3c.resourcecollector" file="meta.zcml" />
+ ... <collectorItem
+ ... collector="later.js"
+ ... item="res_test2.js"
+ ... weight="1"
+ ... />
+ ... <collector
+ ... name="later.js"
+ ... type="zope.publisher.interfaces.browser.IBrowserRequest"
+ ... />
+ ... </configure>''')
+
+We get an error if we try to add an item to an unknown collector.
+
+ >>> context = xmlconfig.string('''
+ ... <configure xmlns="http://namespaces.zope.org/browser">
+ ... <include package="z3c.resourcecollector" file="meta.zcml" />
+ ... <collectorItem
+ ... collector="unknown.js"
+ ... item="res_test2.js"
+ ... weight="1"
+ ... />
+ ... </configure>''')
+ Traceback (most recent call last):
+ ConfigurationExecutionError: zope.component.interfaces.ComponentLookupError: (<InterfaceClass z3c.resourcecollector.interfaces.ICollectorUtility>, u'unknown.js')
+ ...
+
+
Cascading Collectors
--------------------
More information about the Checkins
mailing list