[z3-checkins] r33825 - z3/deliverance/branches/packaged/deliverance

rmarianski at codespeak.net rmarianski at codespeak.net
Sat Oct 28 00:11:16 CEST 2006


Author: rmarianski
Date: Sat Oct 28 00:11:11 2006
New Revision: 33825

Modified:
   z3/deliverance/branches/packaged/deliverance/proxyapp.py
   z3/deliverance/branches/packaged/deliverance/proxycommand.py
   z3/deliverance/branches/packaged/deliverance/wsgifilter.py
Log:
add ability to specify renderer on command line

Modified: z3/deliverance/branches/packaged/deliverance/proxyapp.py
==============================================================================
--- z3/deliverance/branches/packaged/deliverance/proxyapp.py	(original)
+++ z3/deliverance/branches/packaged/deliverance/proxyapp.py	Sat Oct 28 00:11:11 2006
@@ -11,7 +11,7 @@
 
     def __init__(self, theme_uri, rule_uri, proxy,
                  transparent=False, debug_headers=False,
-                 relocate_content=False):
+                 relocate_content=False, renderer='py'):
         self.theme_uri = theme_uri,
         self.rule_uri = rule_uri,
         self.proxy = proxy
@@ -19,7 +19,7 @@
         self.debug_headers = debug_headers
         self.subapp = self.make_app()
         self.deliverance_app = wsgifilter.DeliveranceMiddleware(
-            self.subapp, theme_uri, rule_uri)
+            self.subapp, theme_uri, rule_uri, renderer)
         self.relocate_content = relocate_content
 
     def make_app(self):

Modified: z3/deliverance/branches/packaged/deliverance/proxycommand.py
==============================================================================
--- z3/deliverance/branches/packaged/deliverance/proxycommand.py	(original)
+++ z3/deliverance/branches/packaged/deliverance/proxycommand.py	Sat Oct 28 00:11:11 2006
@@ -48,6 +48,9 @@
                   help="Rewrite all headers and links",
                   action="store_true",
                   dest="rewrite")
+parser.add_option('--renderer',
+                  help="Select which renderer to use: 'py' or 'xslt'",
+                  default='py')
 
 def strip(prefix, string):
     if string.startswith(prefix):

Modified: z3/deliverance/branches/packaged/deliverance/wsgifilter.py
==============================================================================
--- z3/deliverance/branches/packaged/deliverance/wsgifilter.py	(original)
+++ z3/deliverance/branches/packaged/deliverance/wsgifilter.py	Sat Oct 28 00:11:11 2006
@@ -13,7 +13,7 @@
 from paste.wsgilib import intercept_output
 from paste.request import construct_url
 from paste.response import header_value, replace_header
-from interpreter import Renderer
+#from interpreter import Renderer
 #from xslt import Renderer
 from htmlserialize import tostring
 from utils import DeliveranceError
@@ -29,7 +29,7 @@
 
 class DeliveranceMiddleware(object):
 
-    def __init__(self, app, theme_uri, rule_uri):
+    def __init__(self, app, theme_uri, rule_uri, renderer='py'):
         self.app = app
         self.theme_uri = theme_uri
         self.rule_uri = rule_uri
@@ -38,6 +38,14 @@
         self._timeout = datetime.timedelta(0,10)
         self._lock = threading.Lock()
 
+        if renderer == 'py':
+            import interpreter
+            self._rendererType = interpreter.Renderer
+        elif renderer == 'xslt':
+            import xslt
+            self._rendererType = xslt.Renderer
+        else:
+            raise ValueError("Unknown Renderer: %s - Expecting 'py' or 'xslt'" % renderer)
 
     def get_renderer(self,environ):
         try:
@@ -79,7 +87,7 @@
                 newmessage += ":" + str(message)
             raise DeliveranceError(newmessage)
 
-        return Renderer(
+        return self._rendererType(
             theme=parsedTheme,
             theme_uri=full_theme_uri,
             rule=parsedRule, 


More information about the z3-checkins mailing list