[Checkins] SVN: grok/trunk/src/grok/ Merge the philikon-refactor-templatereg branch:

Philipp von Weitershausen philikon at philikon.de
Sun Mar 16 11:14:32 EDT 2008


Log message for revision 84707:
  Merge the philikon-refactor-templatereg branch:
  
  ------------------------------------------------------------------------
  r84651 | philikon | 2008-03-14 11:57:22 +0100 (Fri, 14 Mar 2008) | 7 lines
  
  Make the TemplateRegistry unaware of views, viewlets, ... It shouldn't have to
  care what the templates are used for. The current setup makes it hard to extend
  the system with other components that also need templates.
  
  Grokkers are now responsible for "checking" the templates. This makes it easily
  extendable.
  
  ------------------------------------------------------------------------
  r84652 | philikon | 2008-03-14 12:01:44 +0100 (Fri, 14 Mar 2008) | 1 line
  
  Remove useless turd.
  ------------------------------------------------------------------------
  
  

Changed:
  U   grok/trunk/src/grok/meta.py
  U   grok/trunk/src/grok/templatereg.py

-=-
Modified: grok/trunk/src/grok/meta.py
===================================================================
--- grok/trunk/src/grok/meta.py	2008-03-16 15:03:08 UTC (rev 84706)
+++ grok/trunk/src/grok/meta.py	2008-03-16 15:14:32 UTC (rev 84707)
@@ -263,8 +263,8 @@
         if templates is not None:
             config.action(
                 discriminator=None,
-                callable=templates.checkTemplatesView,
-                args=(module_info, factory)
+                callable=self.checkTemplates,
+                args=(templates, module_info, factory)
             )
 
         # safety belt: make sure that the programmer didn't use
@@ -302,8 +302,14 @@
 
         return True
 
-def view__getitem__(self, key):
-    return self.template.macros[key]
+    def checkTemplates(self, templates, module_info, factory):
+        def has_render(factory):
+            return (getattr(factory, 'render', None) and
+                    not util.check_subclass(factory, grok.components.GrokForm))
+        def has_no_render(factory):
+            return not getattr(factory, 'render', None)
+        templates.checkTemplates(module_info, factory, 'view',
+                                 has_render, has_no_render)
 
 
 class JSONGrokker(martian.ClassGrokker):
@@ -930,8 +936,9 @@
         if templates is not None:
             config.action(
                 discriminator=None,
-                callable=templates.checkTemplatesViewlet,
-                args=(module_info, factory))
+                callable=self.checkTemplates,
+                args=(templates, module_info, factory)
+                )
     
         view = determine_class_directive('grok.view', factory,
                                          module_info, default=IBrowserView)
@@ -956,3 +963,11 @@
             )
         
         return True
+
+    def checkTemplates(self, templates, module_info, factory):
+        def has_render(factory):
+            return factory.render != grok.components.Viewlet.render
+        def has_no_render(factory):
+            return not has_render(factory)
+        templates.checkTemplates(module_info, factory, 'viewlet',
+                                 has_render, has_no_render)

Modified: grok/trunk/src/grok/templatereg.py
===================================================================
--- grok/trunk/src/grok/templatereg.py	2008-03-16 15:03:08 UTC (rev 84706)
+++ grok/trunk/src/grok/templatereg.py	2008-03-16 15:14:32 UTC (rev 84707)
@@ -81,8 +81,8 @@
                 module_info.dotted_name, ', '.join(unassociated)))
             warnings.warn(msg, UserWarning, 2)
 
-    def _checkTemplates(self, module_info, factory, component_name,
-                        has_render, has_no_render):
+    def checkTemplates(self, module_info, factory, component_name,
+                       has_render, has_no_render):
         factory_name = factory.__name__.lower()
         template_name = util.class_annotation(factory, 'grok.template',
                                               factory_name)
@@ -116,23 +116,6 @@
                                 "'render' method." %
                                 (component_name.title(), factory), factory)
 
-    def checkTemplatesView(self, module_info, factory):
-        def has_render(factory):
-            return (getattr(factory, 'render', None) and
-                    not util.check_subclass(factory, grok.components.GrokForm))
-        def has_no_render(factory):
-            return not getattr(factory, 'render', None)
-        self._checkTemplates(module_info, factory, 'view',
-                             has_render, has_no_render)
-
-    def checkTemplatesViewlet(self, module_info, factory):
-        def has_render(factory):
-            return factory.render != grok.components.Viewlet.render
-        def has_no_render(factory):
-            return not has_render(factory)
-        self._checkTemplates(module_info, factory, 'viewlet',
-                             has_render, has_no_render)
-
 class PageTemplateFileFactory(grok.GlobalUtility):
 
     grok.implements(grok.interfaces.ITemplateFileFactory)



More information about the Checkins mailing list