[Zope-Checkins] CVS: Zope3/lib/python/Zope/PageTemplate - PageTemplate.py:1.1.2.8 PageTemplateFile.py:1.1.2.9

Jim Fulton jim@zope.com
Sun, 6 Jan 2002 16:08:23 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/PageTemplate
In directory cvs.zope.org:/tmp/cvs-serv6240/Zope/PageTemplate

Modified Files:
      Tag: Zope-3x-branch
	PageTemplate.py PageTemplateFile.py 
Log Message:
Added and debugged standard macros for view-component use

=== Zope3/lib/python/Zope/PageTemplate/PageTemplate.py 1.1.2.7 => 1.1.2.8 ===
 Z_DEBUG_MODE = os.environ.get('Z_DEBUG_MODE') == '1'
 
-class MacroCollection:
-    def __of__(self, parent):
+class MacroCollection(object):
+    def __get__(self, parent, type=None):
+        parent._cook_check()
         return parent._v_macros
 
 class PageTemplate(object):
@@ -187,7 +188,7 @@
         self.ob = ob
 
     def __getitem__(self, name):
-        return getView(self.ob, name, IBrowserPublish)
+        return getView(self.ob, name, IBrowserPublisher)
 
 
 class _ModuleImporter:


=== Zope3/lib/python/Zope/PageTemplate/PageTemplateFile.py 1.1.2.8 => 1.1.2.9 ===
 from zLOG import LOG, ERROR, INFO
 from string import join, strip, rstrip, split, lower
-from PageTemplate import PageTemplate
+from PageTemplate import PageTemplate, ViewMapper
 from Expressions import SecureModuleImporter
 
 DevelopmentMode = 1  # XXX should be imported from somewhere
@@ -57,17 +57,15 @@
 
     def pt_getContext(self, inst=None):
         #root = self.getPhysicalRoot()
-        root = None
         c = {'template': self,
              'nothing': None,
-             'options': {},
-             'root': root,
-             'request': getattr(root, 'REQUEST', None),
+             #XXX 'root': root,
              'modules': SecureModuleImporter,
              }
         if inst is not None:
             c['here'] = inst.getContext()
             c['container'] = inst
+            c['views'] = ViewMapper(inst.getContext())
         return c
 
     def __call__(self, inst, REQUEST=None, **kw):
@@ -113,3 +111,4 @@
     def __setstate__(self, state):
         raise StorageError, ("Instance of AntiPersistent class %s "
                              "cannot be stored." % self.__class__.__name__)
+