[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