[Checkins] SVN: grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/ Some fixed for five.grok.

Lennart Regebro regebro at gmail.com
Fri Jul 18 09:22:14 EDT 2008


Log message for revision 88502:
  Some fixed for five.grok.
  

Changed:
  U   grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/components.py
  U   grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/templatereg.py

-=-
Modified: grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/components.py
===================================================================
--- grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/components.py	2008-07-18 13:01:59 UTC (rev 88501)
+++ grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/components.py	2008-07-18 13:22:14 UTC (rev 88502)
@@ -23,13 +23,15 @@
 #XXX rename to GrokView
 class ViewMixin(object):
 
-    def _initialize(self):
+    def __init__(self, context, request):
+        super(ViewMixin, self).__init__(context, request)
         self.__name__ = self.__view_name__
         self.static = component.queryAdapter(
             self.request,
             interface.Interface,
-            name=self.module_info.package_dotted_name)
-
+            name=self.module_info.package_dotted_name
+            )
+        
     def _update_and_render(self):
         mapply(self.update, (), self.request)
         if self.request.response.getStatus() in (302, 303):
@@ -49,6 +51,18 @@
     def response(self):
         return self.request.response
 
+    def __call__(self):
+        mapply(self.update, (), self.request)
+        if self.request.response.getStatus() in (302, 303):
+            # A redirect was triggered somewhere in update().  Don't
+            # continue rendering the template or doing anything else.
+            return
+
+        template = getattr(self, 'template', None)
+        if template is not None:
+            return self._render_template()
+        return mapply(self.render, (), self.request)
+    
     def url(self, obj=None, name=None, data=None):
         """Return string for the URL based on the obj and name. The data
         argument is used to form a CGI query string.
@@ -86,8 +100,13 @@
         return {}
 
     def default_namespace(self):
-        raise NotImplementedError
-
+        namespace = {}
+        namespace['context'] = self.context
+        namespace['request'] = self.request
+        namespace['static'] = self.static
+        namespace['view'] = self
+        return namespace
+    
     def application_url(self, name=None):
         raise NotImplementedError
 

Modified: grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/templatereg.py
===================================================================
--- grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/templatereg.py	2008-07-18 13:01:59 UTC (rev 88501)
+++ grok/branches/grokcore.xxx/devel/grokcore.view/src/grokcore/view/templatereg.py	2008-07-18 13:22:14 UTC (rev 88502)
@@ -6,8 +6,6 @@
 
 from martian.error import GrokError
 
-import grok
-
 import grokcore.component
 import grokcore.view
 
@@ -50,7 +48,7 @@
             template_name, extension = os.path.splitext(template_file)
             extension = extension[1:] # Get rid of the leading dot.
             template_factory = zope.component.queryUtility(
-                grok.interfaces.ITemplateFileFactory,
+                grokcore.view.interfaces.ITemplateFileFactory,
                 name=extension)
 
             if template_factory is None:
@@ -129,8 +127,8 @@
 
 
 class PageTemplateFileFactory(grokcore.component.GlobalUtility):
-    implements(grok.interfaces.ITemplateFileFactory)
+    implements(grokcore.view.interfaces.ITemplateFileFactory)
     grokcore.component.name('pt')
 
     def __call__(self, filename, _prefix=None):
-        return grok.components.PageTemplate(filename=filename, _prefix=_prefix)
+        return grokcore.view.components.PageTemplate(filename=filename, _prefix=_prefix)



More information about the Checkins mailing list