[Checkins]
SVN: grok/branches/jw-philipp-using-ndir-directives/src/grok/
Convert two directives to new-style directives.
Philipp von Weitershausen
philikon at philikon.de
Sat May 3 06:02:54 EDT 2008
Log message for revision 86163:
Convert two directives to new-style directives.
Changed:
U grok/branches/jw-philipp-using-ndir-directives/src/grok/directive.py
U grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py
-=-
Modified: grok/branches/jw-philipp-using-ndir-directives/src/grok/directive.py
===================================================================
--- grok/branches/jw-philipp-using-ndir-directives/src/grok/directive.py 2008-05-03 09:46:36 UTC (rev 86162)
+++ grok/branches/jw-philipp-using-ndir-directives/src/grok/directive.py 2008-05-03 10:02:54 UTC (rev 86163)
@@ -29,7 +29,7 @@
OptionalValueDirective,
ClassDirectiveContext,
ClassOrModuleDirectiveContext)
-from martian import util
+from martian import util, ndir
from grok import components
class MultiValueOnceDirective(OnceDirective):
@@ -117,10 +117,20 @@
require = RequireDirective('grok.require', ClassDirectiveContext())
site = InterfaceOrClassDirective('grok.site',
ClassDirectiveContext())
-permissions = MultiValueOnceDirective(
- 'grok.permissions', ClassDirectiveContext())
-layer = InterfaceOrClassDirective('grok.layer',
- ClassOrModuleDirectiveContext())
+
+class permissions(ndir.Directive):
+ scope = ndir.CLASS
+ store = ndir.ONCE
+ default = []
+
+ def factory(*args):
+ return args
+
+class layer(ndir.Directive):
+ scope = ndir.CLASS_OR_MODULE
+ store = ndir.ONCE
+ validate = ndir.validateInterfaceOrClass
+
viewletmanager = InterfaceOrClassDirective('grok.viewletmanager',
ClassOrModuleDirectiveContext())
view = InterfaceOrClassDirective('grok.view',
Modified: grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py
===================================================================
--- grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py 2008-05-03 09:46:36 UTC (rev 86162)
+++ grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py 2008-05-03 10:02:54 UTC (rev 86163)
@@ -169,9 +169,9 @@
)
# grab layer from class or module
- view_layer = determine_class_directive('grok.layer', factory,
- module_info,
- default=grok.IRESTLayer)
+ view_layer = grok.layer.get(factory, module_info.getModule())
+ if view_layer is None:
+ view_layer = grok.IRESTLayer
for method in methods:
name = method.__name__
@@ -243,9 +243,9 @@
% (method.__name__, factory), factory)
# grab layer from class or module
- view_layer = determine_class_directive('grok.layer',
- factory, module_info,
- default=IDefaultBrowserLayer)
+ view_layer = grok.layer.get(factory, module_info.getModule())
+ if view_layer is None:
+ view_layer = IDefaultBrowserLayer
view_name = get_name_classname(factory)
# __view_name__ is needed to support IAbsoluteURL on views
@@ -634,7 +634,7 @@
args=(role, IRole, id),
)
- permissions = util.class_annotation(factory, 'grok.permissions', ())
+ permissions = grok.permissions.get(factory)
for permission in permissions:
config.action(
discriminator=('grantPermissionToRole', permission, id),
@@ -785,8 +785,10 @@
component_class = grok.Skin
def grok(self, name, factory, module_info, config, **kw):
- layer = determine_class_directive('grok.layer', factory, module_info,
- default=IBrowserRequest)
+ view_layer = grok.layer.get(factory, module_info.getModule())
+ if view_layer is None:
+ view_layer = IBrowserRequest
+
name = get_name_classname(factory)
config.action(
discriminator=('skin', name),
@@ -799,8 +801,10 @@
component_class = grok.RESTProtocol
def grok(self, name, factory, module_info, config, **kw):
- layer = determine_class_directive('grok.layer', factory, module_info,
- default=IBrowserRequest)
+ layer = grok.layer.get(factory, module_info.getModule())
+ if layer is None:
+ layer = IBrowserRequest
+
name = get_name_classname(factory)
config.action(
discriminator=('restprotocol', name),
@@ -829,10 +833,11 @@
view = determine_class_directive('grok.view', factory,
module_info, default=IBrowserView)
- viewlet_layer = determine_class_directive('grok.layer', factory,
- module_info,
- default=IDefaultBrowserLayer)
+ viewlet_layer = grok.layer.get(factory, module_info.getModule())
+ if viewlet_layer is None:
+ viewlet_layer = IDefaultBrowserLayer
+
config.action(
discriminator = ('viewletManager', view_context, viewlet_layer,
view, name),
@@ -872,9 +877,10 @@
view = determine_class_directive('grok.view', factory,
module_info, default=IBrowserView)
- viewlet_layer = determine_class_directive('grok.layer', factory,
- module_info,
- default=IDefaultBrowserLayer)
+ viewlet_layer = grok.layer.get(factory, module_info.getModule())
+ if viewlet_layer is None:
+ viewlet_layer = IDefaultBrowserLayer
+
viewletmanager = get_viewletmanager(module_info, factory)
config.action(
More information about the Checkins
mailing list