[Checkins] SVN: grok/branches/ksmith_mcweekly-layers/src/grok/ * rename grok.defineskin to grok.register_skin

Kevin Smith kevin at mcweekly.com
Tue Apr 17 14:49:33 EDT 2007


Log message for revision 74211:
  * rename grok.defineskin to grok.register_skin
  * grok.Layer inherits from IBrowserRequest
  * updated tests, all tests pass
  

Changed:
  U   grok/branches/ksmith_mcweekly-layers/src/grok/__init__.py
  U   grok/branches/ksmith_mcweekly-layers/src/grok/components.py
  U   grok/branches/ksmith_mcweekly-layers/src/grok/directive.py
  U   grok/branches/ksmith_mcweekly-layers/src/grok/ftests/view/layer.py
  U   grok/branches/ksmith_mcweekly-layers/src/grok/interfaces.py
  U   grok/branches/ksmith_mcweekly-layers/src/grok/meta.py

-=-
Modified: grok/branches/ksmith_mcweekly-layers/src/grok/__init__.py
===================================================================
--- grok/branches/ksmith_mcweekly-layers/src/grok/__init__.py	2007-04-17 18:31:43 UTC (rev 74210)
+++ grok/branches/ksmith_mcweekly-layers/src/grok/__init__.py	2007-04-17 18:49:33 UTC (rev 74211)
@@ -36,7 +36,7 @@
 from grok.components import Application, Form, AddForm, EditForm, DisplayForm
 from grok.directive import (context, name, template, templatedir, provides,
                             baseclass, global_utility, local_utility,
-                            define_permission, require, layer, defineskin)
+                            define_permission, require, layer, register_skin)
 from grok._grok import do_grok as grok  # Avoid name clash within _grok
 from grok._grok import SubscribeDecorator as subscribe
 from grok.error import GrokError, GrokImportError

Modified: grok/branches/ksmith_mcweekly-layers/src/grok/components.py
===================================================================
--- grok/branches/ksmith_mcweekly-layers/src/grok/components.py	2007-04-17 18:31:43 UTC (rev 74210)
+++ grok/branches/ksmith_mcweekly-layers/src/grok/components.py	2007-04-17 18:49:33 UTC (rev 74211)
@@ -108,7 +108,7 @@
     interface.implements(IAttributeAnnotatable)
 
 
-class Layer(interface.Interface):
+class Layer(IBrowserRequest):
     pass
 
 

Modified: grok/branches/ksmith_mcweekly-layers/src/grok/directive.py
===================================================================
--- grok/branches/ksmith_mcweekly-layers/src/grok/directive.py	2007-04-17 18:31:43 UTC (rev 74210)
+++ grok/branches/ksmith_mcweekly-layers/src/grok/directive.py	2007-04-17 18:49:33 UTC (rev 74211)
@@ -199,7 +199,7 @@
                                   "%s." % self.name)
 
 
-class DefineSkinDirective(MultipleTimesDirective):
+class RegisterSkinDirective(MultipleTimesDirective):
     def check_arguments(self, name, iface):
         if not name:
             raise GrokImportError("First argument cannot be an empty string"
@@ -209,10 +209,10 @@
                                   "second argument of %s." % self.name)
 
     def value_factory(self, *args, **kw):
-        return DefineSkinInfo(*args, **kw)
+        return RegisterSkinInfo(*args, **kw)
 
         
-class DefineSkinInfo(object):
+class RegisterSkinInfo(object):
     def __init__(self, name, iface):
         self.name = name
         self.iface = iface
@@ -299,6 +299,6 @@
                                           ModuleDirectiveContext())
 require = RequireDirective('grok.require', ClassDirectiveContext())
 
-defineskin = DefineSkinDirective('grok.defineskin',
+register_skin = RegisterSkinDirective('grok.register_skin',
                                  ModuleDirectiveContext())
 

Modified: grok/branches/ksmith_mcweekly-layers/src/grok/ftests/view/layer.py
===================================================================
--- grok/branches/ksmith_mcweekly-layers/src/grok/ftests/view/layer.py	2007-04-17 18:31:43 UTC (rev 74210)
+++ grok/branches/ksmith_mcweekly-layers/src/grok/ftests/view/layer.py	2007-04-17 18:49:33 UTC (rev 74211)
@@ -38,7 +38,7 @@
 class MySkinLayer(grok.Layer):
     pass
 
-grok.defineskin('MySkin', MySkinLayer)
+grok.register_skin('MySkin', MySkinLayer)
 
 class Mammoth(grok.Model):
     pass

Modified: grok/branches/ksmith_mcweekly-layers/src/grok/interfaces.py
===================================================================
--- grok/branches/ksmith_mcweekly-layers/src/grok/interfaces.py	2007-04-17 18:31:43 UTC (rev 74210)
+++ grok/branches/ksmith_mcweekly-layers/src/grok/interfaces.py	2007-04-17 18:49:33 UTC (rev 74211)
@@ -76,9 +76,10 @@
         This directive can only be used on class level."""
 
     def layer(layer):
-        """Declare the layer the view is applied.
+        """Declare the layer for the view.
 
-        This directive can only be used on class level."""
+        This directive acts as a contraint on the 'request' of
+        grok.View. This directive can only be used on class level."""
 
     def skin(skin):
         """Declare this layer as a named skin.
@@ -130,7 +131,7 @@
                  The site should in this case be a container.
         name_in_container - the name to use for storing the utility
         """
-    def defineskin(name, iface):
+    def register_skin(name, iface):
         """Register skin name for layer."""
 
     def define_permission(permission):

Modified: grok/branches/ksmith_mcweekly-layers/src/grok/meta.py
===================================================================
--- grok/branches/ksmith_mcweekly-layers/src/grok/meta.py	2007-04-17 18:31:43 UTC (rev 74210)
+++ grok/branches/ksmith_mcweekly-layers/src/grok/meta.py	2007-04-17 18:49:33 UTC (rev 74211)
@@ -4,7 +4,8 @@
 from zope import interface, component
 from zope.publisher.interfaces.browser import (IDefaultBrowserLayer,
                                                IBrowserRequest,
-                                               IBrowserPublisher)
+                                               IBrowserPublisher,
+                                               IBrowserSkinType)
 from zope.publisher.interfaces.xmlrpc import IXMLRPCRequest
 from zope.security.checker import NamesChecker, defineChecker
 from zope.security.permission import Permission
@@ -120,13 +121,8 @@
 
 class LayerGrokker(grok.ClassGrokker):
     component_class = grok.Layer
-    
-    def register(self, context, name, factory, module_info, templates):
-        import pdb; pdb.set_trace()
-        view_skin = util.class_annotation(factory, 'grok.skin', None)
 
 
-        
 class ViewGrokker(grok.ClassGrokker):
     component_class = grok.View
 
@@ -296,16 +292,17 @@
             resource_factory, (IDefaultBrowserLayer,),
             interface.Interface, name=module_info.dotted_name)
 
-from zope.publisher.interfaces.browser import IBrowserSkinType
-class DefineSkinDirectiveGrokker(grok.ModuleGrokker):
 
+class RegisterSkinDirectiveGrokker(grok.ModuleGrokker):
+
     def register(self, context, module_info, templates):
-        infos = module_info.getAnnotation('grok.defineskin',[])
+        infos = module_info.getAnnotation('grok.register_skin',[])
         if infos:
             for skin in infos:
                 zope.component.interface.provideInterface(skin.name, skin.iface,
                                                           IBrowserSkinType)
 
+
 class GlobalUtilityDirectiveGrokker(grok.ModuleGrokker):
 
     def register(self, context, module_info, templates):



More information about the Checkins mailing list