[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/PageTemplate - Engine.py:1.1.2.3 SimpleViewClass.py:1.1.2.2 ViewPageTemplateFile.py:1.1.2.2
Jim Fulton
jim@zope.com
Fri, 7 Jun 2002 10:41:46 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/App/PageTemplate
In directory cvs.zope.org:/tmp/cvs-serv12187/lib/python/Zope/App/PageTemplate
Modified Files:
Tag: Zope-3x-branch
Engine.py SimpleViewClass.py ViewPageTemplateFile.py
Log Message:
Merging in Zope3InWonderland-branch, which implemented the following
proposals (see
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/OldProposals):
- RenameAllowToRequire
- GroupClassRelatedDirectivesInClassDirective
- ViewInterfaceAndSimplification
- ConsistentUseOfSpacesAsDelimitersInZCMLAttributes
- TwoArgumentViewConstructors
- ImplementsInZCML
- SimpleViewCreationInZCML
- RemoveGetView
- ReplaceProtectWithAllow
- ViewMethodsAsViews
- MergeProtectionAndComponentDefinitions
There were also various security fixes resulting of better integration
of security with components.
=== Zope3/lib/python/Zope/App/PageTemplate/Engine.py 1.1.2.2 => 1.1.2.3 ===
=== Zope3/lib/python/Zope/App/PageTemplate/SimpleViewClass.py 1.1.2.1 => 1.1.2.2 ===
import sys
+from Zope.Publisher.Browser.BrowserView import BrowserView
from Zope.Publisher.Browser.IBrowserPublisher import IBrowserPublisher
from ViewPageTemplateFile import ViewPageTemplateFile
from Zope.Security.Checker import defineChecker, NamesChecker
-class simple(object):
+class simple(BrowserView):
- __implements__=IBrowserPublisher
-
- # Boiler plate
- def __init__(self, context):
- self._context=context
-
- def getContext(self):
- return self._context
+ __implements__ = IBrowserPublisher, BrowserView.__implements__
def browserDefault(self, request):
- return self, ('index.html',)
+ return self, ()
def publishTraverse(self, request, name):
if name == 'index.html':
@@ -41,24 +35,21 @@
raise NotFound(self, name, request)
-
# XXX: we need some unittests for this !!!
def __getitem__(self, name):
return self.index.macros[name]
- def __call__(self, REQUEST, *args, **kw):
- return self.index(REQUEST, *args, **kw)
+ def __call__(self, *args, **kw):
+ return self.index(self.request, *args, **kw)
def SimpleViewClass(src, offering=None, used_for=None):
if offering is None:
offering = sys._getframe(1).f_globals
- class_ = type(src, (simple,),
+ class_ = type("SimpleViewClass from %s" % src, (simple,),
{'index': ViewPageTemplateFile(src, offering)})
if used_for is not None:
class_.__used_for__ = used_for
-
- defineChecker(class_, NamesChecker('index'))
return class_
=== Zope3/lib/python/Zope/App/PageTemplate/ViewPageTemplateFile.py 1.1.2.1 => 1.1.2.2 ===
from Zope.PageTemplate.PageTemplateFile import PageTemplateFile
-from Zope.ComponentArchitecture import getRequestView
+from Zope.ComponentArchitecture import getView
from Engine import AppPT
class ViewPageTemplateFile(AppPT, PageTemplateFile):
@@ -31,13 +31,15 @@
namespace = super(ViewPageTemplateFile, self).pt_getContext(**_kw)
namespace['request'] = request
namespace['view'] = instance
- namespace['context'] = context = instance.getContext()
+ namespace['context'] = context = instance.context
namespace['views'] = ViewMapper(context, request)
return namespace
- def __call__(self, instance, REQUEST, *args, **keywords):
- namespace = self.pt_getContext(request=REQUEST, instance=instance,
- args=args, options=keywords)
+ def __call__(self, instance, *args, **keywords):
+ namespace = self.pt_getContext(
+ request=instance.request,
+ instance=instance,
+ args=args, options=keywords)
return self.pt_render(namespace)
def __get__(self, instance, type=None):
@@ -50,7 +52,7 @@
self.request = request
def __getitem__(self, name):
- return getRequestView(self.ob, name, self.request)
+ return getView(self.ob, name, self.request)
class BoundPageTemplate: