[Checkins] SVN: grok/trunk/src/grok/ implemented grok.resource
Wolfgang Schnerring
wosc at wosc.de
Mon Oct 16 09:49:53 EDT 2006
Log message for revision 70691:
implemented grok.resource
Changed:
U grok/trunk/src/grok/__init__.py
U grok/trunk/src/grok/_grok.py
A grok/trunk/src/grok/tests/view/resourcedirectory.py
A grok/trunk/src/grok/tests/view/resourcedirectoryname/food.pt
-=-
Modified: grok/trunk/src/grok/__init__.py
===================================================================
--- grok/trunk/src/grok/__init__.py 2006-10-16 13:48:02 UTC (rev 70690)
+++ grok/trunk/src/grok/__init__.py 2006-10-16 13:49:53 UTC (rev 70691)
@@ -16,4 +16,4 @@
from zope.interface import implements
from _grok import (Model, Adapter, View, PageTemplate,
- grok, context, name, template)
+ grok, context, name, template, resource)
Modified: grok/trunk/src/grok/_grok.py
===================================================================
--- grok/trunk/src/grok/_grok.py 2006-10-16 13:48:02 UTC (rev 70690)
+++ grok/trunk/src/grok/_grok.py 2006-10-16 13:49:53 UTC (rev 70691)
@@ -93,7 +93,8 @@
templates.register(name, obj)
# find filesystem resources
- directory_name = dotted_name.split('.')[-1]
+ module_name = dotted_name.split('.')[-1]
+ directory_name = getattr(module, '__grok_resource__', module_name)
if resource_exists(dotted_name, directory_name):
resources = resource_listdir(dotted_name, directory_name)
for resource in resources:
@@ -210,6 +211,8 @@
def caller_module():
return sys._getframe(2).f_globals['__name__']
+# directives
name = TextDirective('grok.name', ClassDirectiveContext())
template = TextDirective('grok.template', ClassDirectiveContext())
context = InterfaceOrClassDirective('grok.context', ClassOrModuleDirectiveContext())
+resource = TextDirective('grok.resource', ModuleDirectiveContext())
Added: grok/trunk/src/grok/tests/view/resourcedirectory.py
===================================================================
--- grok/trunk/src/grok/tests/view/resourcedirectory.py 2006-10-16 13:48:02 UTC (rev 70690)
+++ grok/trunk/src/grok/tests/view/resourcedirectory.py 2006-10-16 13:49:53 UTC (rev 70691)
@@ -0,0 +1,24 @@
+"""
+You can explicitly specify the resource directory using grok.resource on module level:
+
+ >>> grok.grok(__name__)
+
+ >>> manfred = Mammoth()
+ >>> from zope.publisher.browser import TestRequest
+ >>> request = TestRequest()
+ >>> from zope import component
+ >>> view = component.getMultiAdapter((manfred, request), name='food')
+ >>> print view()
+ <html>
+ <body>
+ ME GROK EAT MAMMOTH!
+ </body>
+ </html>
+
+"""
+import grok
+
+grok.resource('resourcedirectoryname')
+
+class Mammoth(grok.Model):
+ pass
Added: grok/trunk/src/grok/tests/view/resourcedirectoryname/food.pt
===================================================================
--- grok/trunk/src/grok/tests/view/resourcedirectoryname/food.pt 2006-10-16 13:48:02 UTC (rev 70690)
+++ grok/trunk/src/grok/tests/view/resourcedirectoryname/food.pt 2006-10-16 13:49:53 UTC (rev 70691)
@@ -0,0 +1,5 @@
+<html>
+<body>
+ME GROK EAT MAMMOTH!
+</body>
+</html>
More information about the Checkins
mailing list