[Checkins] SVN: z3c.viewtemplate/trunk/src/z3c/viewtemplate/ defer setting the content-type

Bernd Dorn bernd.dorn at fhv.at
Wed Sep 20 14:14:33 EDT 2006


Log message for revision 70257:
  defer setting the content-type

Changed:
  U   z3c.viewtemplate/trunk/src/z3c/viewtemplate/macro.py
  U   z3c.viewtemplate/trunk/src/z3c/viewtemplate/zcml.py

-=-
Modified: z3c.viewtemplate/trunk/src/z3c/viewtemplate/macro.py
===================================================================
--- z3c.viewtemplate/trunk/src/z3c/viewtemplate/macro.py	2006-09-20 17:55:19 UTC (rev 70256)
+++ z3c.viewtemplate/trunk/src/z3c/viewtemplate/macro.py	2006-09-20 18:14:32 UTC (rev 70257)
@@ -23,11 +23,12 @@
 class Macro(object):
     """Provides a single macro from a template for rendering."""
 
-    def __init__(self, template, macroName, view, request):
+    def __init__(self, template, macroName, view, request, contentType):
         self.template = template
         self.macroName = macroName
         self.view = view
         self.request = request
+        self.contentType = contentType
 
     def __call__(self, *args, **kwargs):
         program = self.template.macros[self.macroName]
@@ -37,5 +38,8 @@
         TALInterpreter(program, None,
                        context, output, tal=True, showtal=False,
                        strictinsert=0, sourceAnnotations=False)()
+        if not self.request.response.getHeader("Content-Type"):
+            self.request.response.setHeader("Content-Type",
+                                            self.contentType)
         return output.getvalue()
 

Modified: z3c.viewtemplate/trunk/src/z3c/viewtemplate/zcml.py
===================================================================
--- z3c.viewtemplate/trunk/src/z3c/viewtemplate/zcml.py	2006-09-20 17:55:19 UTC (rev 70256)
+++ z3c.viewtemplate/trunk/src/z3c/viewtemplate/zcml.py	2006-09-20 18:14:32 UTC (rev 70257)
@@ -99,9 +99,8 @@
                                         content_type=self.contentType)
         if self.macro is None:
             return template
-        if not request.response.getHeader("Content-Type"):
-            request.response.setHeader("Content-Type", self.contentType)
-        return Macro(template, self.macro, view, request)
+        return Macro(template, self.macro, view,
+                     request, self.contentType)
 
 
 def templateDirective(_context,



More information about the Checkins mailing list