[z3-checkins] r9546 - z3/davuseragent/trunk

philikon at codespeak.net philikon at codespeak.net
Tue Mar 1 15:55:04 MET 2005


Author: philikon
Date: Tue Mar  1 15:55:04 2005
New Revision: 9546

Added:
   z3/davuseragent/trunk/requestfactory31.py
      - copied, changed from r9541, z3/davuseragent/trunk/requestfactory.py
Modified:
   z3/davuseragent/trunk/requestfactory.py
Log:
copy code that will once work with the trunk (Zope 3.1) to its
own module


Modified: z3/davuseragent/trunk/requestfactory.py
==============================================================================
--- z3/davuseragent/trunk/requestfactory.py	(original)
+++ z3/davuseragent/trunk/requestfactory.py	Tue Mar  1 15:55:04 2005
@@ -28,36 +28,19 @@
         is_xml = content_type.startswith('text/xml')
  
         if (method == 'POST' and is_xml):
-            # soap (enable this on the trunk)
-            #if (env.get('HTTP_SOAPACTION', None)
-            #    and self._soapreq is not None):
-            #    request = self._soapreq(input_stream, output_steam, env)
-            #    request.setPublication(self._soappub)
-            #    return request
             request = XMLRPCRequest(input_stream, output_steam, env)
             request.setPublication(self._xmlrpc)
             return request
 
         # check if we have a distinguished DAV client
         user_agent = env.get('HTTP_USER_AGENT', '')
+        # TODO saner detection logic
         if user_agent in _dav_user_agents:
             request = HTTPRequest(input_stream, output_steam, env)
             request.setPublication(self._http)
             return request
 
-	# fallback to a regular browser request
+        # fallback to a regular browser request
         request = BrowserRequest(input_stream, output_steam, env)
         request.setPublication(self._brower)
         return request
-
-# use this on the trunk instead of the last paragraph
-#        # fallback to a regular browser request:
-#        request = BrowserRequest(input_stream, output_steam, env)
-#        request.setPublication(self._brower)
-#        # Set the default skin
-#        adapters = zapi.getService(zapi.servicenames.Adapters)
-#        skin = adapters.lookup((providedBy(request),), IDefaultSkin, '')
-#        if skin is not None:
-#            directlyProvides(request, directlyProvidedBy(request)+skin)
-#        else:
-#            directlyProvides(request, IDefaultBrowserLayer)

Copied: z3/davuseragent/trunk/requestfactory31.py (from r9541, z3/davuseragent/trunk/requestfactory.py)
==============================================================================
--- z3/davuseragent/trunk/requestfactory.py	(original)
+++ z3/davuseragent/trunk/requestfactory31.py	Tue Mar  1 15:55:04 2005
@@ -1,7 +1,9 @@
 from zope.publisher.http import HTTPRequest
 from zope.publisher.browser import BrowserRequest
 from zope.publisher.xmlrpc import XMLRPCRequest
+from zope.interface import directlyProvides
 
+from zope.app import zapi
 from zope.app.publication.httpfactory import HTTPPublicationRequestFactory
 
 _browser_methods = 'GET', 'POST', 'HEAD'
@@ -11,7 +13,7 @@
                     'cadaver/0.20.5 neon/0.23.9',
                     'neon/0.23.9 cadaver/0.20.5']
 
-class DAVUserAgentFactory(HTTPPublicationRequestFactory):
+class DAVUserAgentFactory31(HTTPPublicationRequestFactory):
 
     def __call__(self, input_stream, output_steam, env):
         """See `zope.app.publication.interfaces.IPublicationRequestFactory`"""
@@ -28,36 +30,31 @@
         is_xml = content_type.startswith('text/xml')
  
         if (method == 'POST' and is_xml):
-            # soap (enable this on the trunk)
-            #if (env.get('HTTP_SOAPACTION', None)
-            #    and self._soapreq is not None):
-            #    request = self._soapreq(input_stream, output_steam, env)
-            #    request.setPublication(self._soappub)
-            #    return request
+            # soap
+            if (env.get('HTTP_SOAPACTION', None)
+                and self._soapreq is not None):
+                request = self._soapreq(input_stream, output_steam, env)
+                request.setPublication(self._soappub)
+                return request
             request = XMLRPCRequest(input_stream, output_steam, env)
             request.setPublication(self._xmlrpc)
             return request
 
         # check if we have a distinguished DAV client
         user_agent = env.get('HTTP_USER_AGENT', '')
+        # TODO saner detection logic
         if user_agent in _dav_user_agents:
             request = HTTPRequest(input_stream, output_steam, env)
             request.setPublication(self._http)
             return request
 
-	# fallback to a regular browser request
+        # fallback to a regular browser request:
         request = BrowserRequest(input_stream, output_steam, env)
         request.setPublication(self._brower)
-        return request
-
-# use this on the trunk instead of the last paragraph
-#        # fallback to a regular browser request:
-#        request = BrowserRequest(input_stream, output_steam, env)
-#        request.setPublication(self._brower)
-#        # Set the default skin
-#        adapters = zapi.getService(zapi.servicenames.Adapters)
-#        skin = adapters.lookup((providedBy(request),), IDefaultSkin, '')
-#        if skin is not None:
-#            directlyProvides(request, directlyProvidedBy(request)+skin)
-#        else:
-#            directlyProvides(request, IDefaultBrowserLayer)
+        # Set the default skin
+        adapters = zapi.getSiteManager().adapters
+        skin = adapters.lookup((providedBy(request),), IDefaultSkin, '')
+        if skin is not None:
+            directlyProvides(request, directlyProvidedBy(request)+skin)
+        else:
+            directlyProvides(request, IDefaultBrowserLayer)


More information about the z3-checkins mailing list