[Checkins] SVN: megrok.chameleon/branches/ulif-chameleon_2-support/src/megrok/chameleon/components.py - Remove explicit Genshi-support and rely on the chameleon basics.

Uli Fouquet uli at gnufix.de
Mon Apr 11 09:28:26 EDT 2011


Log message for revision 121376:
  - Remove explicit Genshi-support and rely on the chameleon basics.
  
  - Use z3c.pt-styled templates to get support for usual expressions and
    the like.
  

Changed:
  U   megrok.chameleon/branches/ulif-chameleon_2-support/src/megrok/chameleon/components.py

-=-
Modified: megrok.chameleon/branches/ulif-chameleon_2-support/src/megrok/chameleon/components.py
===================================================================
--- megrok.chameleon/branches/ulif-chameleon_2-support/src/megrok/chameleon/components.py	2011-04-11 13:26:37 UTC (rev 121375)
+++ megrok.chameleon/branches/ulif-chameleon_2-support/src/megrok/chameleon/components.py	2011-04-11 13:28:26 UTC (rev 121376)
@@ -13,17 +13,20 @@
 ##############################################################################
 """Chameleon page template components"""
 import os
-from chameleon.zpt.template import PageTemplateFile, PageTemplate
-from chameleon.genshi.template import (GenshiTemplateFile, GenshiTemplate,
-                                       GenshiTextTemplateFile,
-                                       GenshiTextTemplate)
 from grokcore.component import GlobalUtility, implements, name
 from grokcore.view import interfaces
 from grokcore.view.components import GrokTemplate
+from z3c.pt.pagetemplate import ViewPageTemplate, ViewPageTemplateFile
 
 #
 # Chameleon Zope Page Templates...
 #
+class PageTemplate(ViewPageTemplate):
+    default_expression = 'python'
+
+class PageTemplateFile(ViewPageTemplateFile):
+    default_expression = 'python'
+    
 class ChameleonPageTemplate(GrokTemplate):
 
     def setFromString(self, string):
@@ -46,8 +49,8 @@
         namespace = super(ChameleonPageTemplate, self).getNamespace(view)
         namespace.update(dict(
                 template=self,
-                nothing=None,
-                ))                
+                _ob=view, # z3c.pt expects this strange key for the view
+                ))
         return namespace
 
     @property
@@ -63,60 +66,3 @@
 
     def __call__(self, filename, _prefix=None):
         return ChameleonPageTemplate(filename=filename, _prefix=_prefix)
-
-#
-# Chameleon Genshi Templates
-#
-class ChameleonGenshiTemplate(GrokTemplate):
-    filename = None
-    _format = None
-
-    def setFromString(self, string):
-        self._filename = None
-        self._template = GenshiTemplate(string, format=self._format)
-
-    def setFromFilename(self, filename, _prefix=None):
-        self._filename = filename
-        self._prefix = _prefix
-        self._template = GenshiTemplateFile(
-            os.path.join(_prefix, filename), format=self._format)
-        return
-
-    def render(self, view):
-        if self._filename is not None:
-            self.setFromFilename(self._filename, self._prefix)
-        return self._template(**self.getNamespace(view))
-
-class ChameleonGenshiTemplateFactory(GlobalUtility):
-    implements(interfaces.ITemplateFileFactory)
-    name('cg')
-
-    def __call__(self, filename, _prefix=None):
-        return ChameleonGenshiTemplate(filename=filename, _prefix=_prefix)
-
-
-class ChameleonGenshiTextTemplate(GrokTemplate):
-    filename = None
-
-    def setFromString(self, string):
-        self._filename = None
-        self._template = GenshiTextTemplate(string)
-
-    def setFromFilename(self, filename, _prefix=None):
-        self._filename = filename
-        self._prefix = _prefix
-        self._template = GenshiTextTemplateFile(
-            os.path.join(_prefix, filename))
-        return
-
-    def render(self, view):
-        if self._filename is not None:
-            self.setFromFilename(self._filename, self._prefix)
-        return self._template(**self.getNamespace(view))
-
-class ChameleonGenshiTextTemplateFactory(GlobalUtility):
-    implements(interfaces.ITemplateFileFactory)
-    name('cgt')
-
-    def __call__(self, filename, _prefix=None):
-        return ChameleonGenshiTextTemplate(filename=filename, _prefix=_prefix)



More information about the checkins mailing list