[Zope-Checkins] SVN: Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PageTemplateFile.py added

Andreas Jung andreas at andreas-jung.com
Sun Dec 11 08:08:04 EST 2005


Log message for revision 40700:
  added
  

Changed:
  A   Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PageTemplateFile.py

-=-
Added: Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PageTemplateFile.py
===================================================================
--- Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PageTemplateFile.py	2005-12-11 12:53:04 UTC (rev 40699)
+++ Zope/branches/ajung-zpt-integration/lib/python/Products/PageTemplates/PageTemplateFile.py	2005-12-11 13:08:03 UTC (rev 40700)
@@ -0,0 +1,31 @@
+
+import os
+
+from Globals import package_home, InitializeClass
+from ZopePageTemplate import ZopePageTemplate
+
+class PageTemplateFile(ZopePageTemplate):
+
+    def __init__(self, filename, _prefix=None, **kw):
+        self.ZBindings_edit(self._default_bindings)
+        if _prefix is None:
+            _prefix = getConfiguration().softwarehome
+        elif not isinstance(_prefix, str):
+            _prefix = package_home(_prefix)
+        name = kw.get('__name__')
+        basepath, ext = os.path.splitext(filename)
+        if name:
+            self._need__name__ = 0
+            self.__name__ = name
+        else:
+            self.__name__ = os.path.basename(basepath)
+        if not ext:
+            # XXX This is pretty bogus, but can't be removed since
+            # it's been released this way.
+            filename = filename + '.zpt'
+        self.filename = os.path.join(_prefix, filename)
+
+        ZopePageTemplate.__init__(self, os.path.basename(self.filename), open(self.filename).read(), 'text/html')
+        
+
+InitializeClass(PageTemplateFile)



More information about the Zope-Checkins mailing list