[Zope-Checkins] SVN: Zope/trunk/ - Collector #1852: fixed wrong URL construction in webdav.davcmds

Andreas Jung andreas at andreas-jung.com
Thu Jul 28 06:12:36 EDT 2005


Log message for revision 37529:
  
        - Collector #1852: fixed wrong URL construction in webdav.davcmds
  

Changed:
  U   Zope/trunk/doc/CHANGES.txt
  U   Zope/trunk/lib/python/webdav/davcmds.py

-=-
Modified: Zope/trunk/doc/CHANGES.txt
===================================================================
--- Zope/trunk/doc/CHANGES.txt	2005-07-28 07:44:51 UTC (rev 37528)
+++ Zope/trunk/doc/CHANGES.txt	2005-07-28 10:12:36 UTC (rev 37529)
@@ -53,6 +53,8 @@
 
     Bugs fixed
 
+      - Collector #1852: fixed wrong URL construction in webdav.davcmds
+
       - Collector #1844: fixed whitespace handling in the ZMI "Find" tab
 
       - Collector #1815: ZCTextIndex accepts (again) sequences of strings to

Modified: Zope/trunk/lib/python/webdav/davcmds.py
===================================================================
--- Zope/trunk/lib/python/webdav/davcmds.py	2005-07-28 07:44:51 UTC (rev 37528)
+++ Zope/trunk/lib/python/webdav/davcmds.py	2005-07-28 10:12:36 UTC (rev 37529)
@@ -16,7 +16,7 @@
 $Id$
 """
 
-import sys, os
+import sys
 from common import absattr, aq_base, urlfix, urlbase
 from OFS.PropertySheets import DAVProperties
 from LockItem import LockItem
@@ -29,6 +29,7 @@
 from zExceptions import BadRequest, Forbidden
 from common import isDavCollection
 from common import PreconditionFailed
+from ZConfig.url import urljoin
 import transaction
 
 def safe_quote(url, mark=r'%'):
@@ -162,7 +163,7 @@
                     if dflag:
                         ob._p_deactivate()
                 elif hasattr(ob, '__dav_resource__'):
-                    uri=os.path.join(url, absattr(ob.id))
+                    uri=urljoin(url, absattr(ob.id))
                     depth=depth=='infinity' and depth or 0
                     self.apply(ob, uri, depth, result, top=0)
                     if dflag:
@@ -402,7 +403,7 @@
         if depth == 'infinity' and iscol:
             for ob in obj.objectValues():
                 if hasattr(obj, '__dav_resource__'):
-                    uri = os.path.join(url, absattr(ob.id))
+                    uri = urljoin(url, absattr(ob.id))
                     self.apply(ob, creator, depth, token, result,
                                uri, top=0)
         if not top:
@@ -465,7 +466,7 @@
             for ob in obj.objectValues():
                 if hasattr(ob, '__dav_resource__') and \
                    WriteLockInterface.isImplementedBy(ob):
-                    uri = os.path.join(url, absattr(ob.id))
+                    uri = urljoin(url, absattr(ob.id))
                     self.apply(ob, token, uri, result, top=0)
         if not top:
             return result
@@ -519,7 +520,7 @@
             for ob in obj.objectValues():
                 dflag = hasattr(ob,'_p_changed') and (ob._p_changed == None)
                 if hasattr(ob, '__dav_resource__'):
-                    uri = os.path.join(url, absattr(ob.id))
+                    uri = urljoin(url, absattr(ob.id))
                     self.apply(ob, token, user, uri, result, top=0)
                     if dflag:
                         ob._p_deactivate()



More information about the Zope-Checkins mailing list