[Checkins] SVN: z3c.dav/trunk/src/z3c/dav/ COPY,
MOVE and MKCOL don't require any XML processing of their
bodies so use
Michael Kerrin
michael.kerrin at openapp.ie
Sun May 13 14:39:51 EDT 2007
Log message for revision 75724:
COPY, MOVE and MKCOL don't require any XML processing of their bodies so use
the default HTTP request / publication for these methods.
Changed:
U z3c.dav/trunk/src/z3c/dav/configure.zcml
U z3c.dav/trunk/src/z3c/dav/copymove.py
U z3c.dav/trunk/src/z3c/dav/mkcol.py
-=-
Modified: z3c.dav/trunk/src/z3c/dav/configure.zcml
===================================================================
--- z3c.dav/trunk/src/z3c/dav/configure.zcml 2007-05-13 18:29:16 UTC (rev 75723)
+++ z3c.dav/trunk/src/z3c/dav/configure.zcml 2007-05-13 18:39:50 UTC (rev 75724)
@@ -7,11 +7,15 @@
<!--
Support for integrating the protocol request handlers found in
the webdav package with the Zope3 publisher.
+
+ The MKCOL, COPY, and MOVE methods are plain HTTP methods with no
+ need for XML processing of there request bodies, so use the default
+ HTTPRequestFactory method for them.
-->
<publisher
name="WEBDAV"
factory=".publisher.WebDAVRequestFactory"
- methods="PROPFIND PROPPATCH MKCOL LOCK UNLOCK COPY MOVE"
+ methods="PROPFIND PROPPATCH LOCK UNLOCK"
priority="30"
/>
@@ -27,16 +31,19 @@
<adapter
factory=".mkcol.MKCOL"
+ provides="zope.interface.Interface"
name="MKCOL"
/>
<adapter
factory=".copymove.COPY"
+ provides="zope.interface.Interface"
name="COPY"
/>
<adapter
factory=".copymove.MOVE"
+ provides="zope.interface.Interface"
name="MOVE"
/>
Modified: z3c.dav/trunk/src/z3c/dav/copymove.py
===================================================================
--- z3c.dav/trunk/src/z3c/dav/copymove.py 2007-05-13 18:29:16 UTC (rev 75723)
+++ z3c.dav/trunk/src/z3c/dav/copymove.py 2007-05-13 18:39:50 UTC (rev 75724)
@@ -23,6 +23,7 @@
from zope import interface
from zope import component
+import zope.publisher.interfaces.http
from zope.copypastemove.interfaces import IObjectCopier, IObjectMover
from zope.traversing.api import traverse, getRoot
from zope.traversing.interfaces import TraversalError
@@ -32,8 +33,8 @@
import z3c.dav.interfaces
class Base(object):
- interface.implements(z3c.dav.interfaces.IWebDAVMethod)
- component.adapts(interface.Interface, z3c.dav.interfaces.IWebDAVRequest)
+ component.adapts(interface.Interface,
+ zope.publisher.interfaces.http.IHTTPRequest)
def __init__(self, context, request):
self.context = context
Modified: z3c.dav/trunk/src/z3c/dav/mkcol.py
===================================================================
--- z3c.dav/trunk/src/z3c/dav/mkcol.py 2007-05-13 18:29:16 UTC (rev 75723)
+++ z3c.dav/trunk/src/z3c/dav/mkcol.py 2007-05-13 18:39:50 UTC (rev 75724)
@@ -15,13 +15,13 @@
"""
__docformat__ = 'restructuredtext'
-from zope import interface
from zope import component
from zope.filerepresentation.interfaces import IWriteDirectory
from zope.filerepresentation.interfaces import IDirectoryFactory
import zope.event
from zope.lifecycleevent import ObjectCreatedEvent
import zope.app.http.interfaces
+import zope.publisher.interfaces.http
import z3c.dav.interfaces
@@ -31,6 +31,7 @@
unmapped urls.
>>> from cStringIO import StringIO
+ >>> import zope.interface
>>> from zope import component
>>> from zope.publisher.browser import TestRequest
>>> from zope.app.http.put import NullResource
@@ -79,7 +80,7 @@
new collection object) so again this operation is forbidden.
>>> class WriteDirectory(object):
- ... interface.implements(IWriteDirectory)
+ ... zope.interface.implements(IWriteDirectory)
... component.adapts(IFolder)
... def __init__(self, context):
... self.context = context
@@ -104,7 +105,7 @@
collection.
>>> class DirectoryFactory(object):
- ... interface.implements(IDirectoryFactory)
+ ... zope.interface.implements(IDirectoryFactory)
... component.adapts(IFolder)
... def __init__(self, context):
... pass
@@ -147,9 +148,8 @@
>>> zope.event.subscribers.remove(eventLog)
"""
- interface.implements(z3c.dav.interfaces.IWebDAVMethod)
component.adapts(zope.app.http.interfaces.INullResource,
- z3c.dav.interfaces.IWebDAVRequest)
+ zope.publisher.interfaces.http.IHTTPRequest)
def __init__(self, context, request):
self.context = context
More information about the Checkins
mailing list