Exemple #1
0
    def updateAttachment(self, rurl, managed_id, filename, data, contentType,
                         return_representation):

        assert (isinstance(rurl, URL))

        # Create WebDAV POST
        rurl.extended = "?action=attachment-update&managed-id=%s" % (
            managed_id, )
        request = Post(self, rurl.relativeURL())
        request.setRequestHeader("Content-Disposition",
                                 "attachment;filename=%s" % (filename, ))
        if return_representation:
            request.setRequestHeader("Prefer", "return-representation")
        dout = RequestDataString(data, contentType)
        request.setData(dout, None)

        # Process it
        self.runSession(request)

        # Check response status
        if request.getStatusCode() not in (
                statuscodes.OK,
                statuscodes.Created,
                statuscodes.NoContent,
        ):
            self.handleHTTPError(request)
    def removeAttachment(self, rurl, managed_id):

        assert(isinstance(rurl, URL))

        # Create WebDAV POST
        rurl.extended = "?action=attachment-remove&managed-id=%s" % (managed_id,)
        request = Post(self, rurl.relativeURL())

        # Process it
        self.runSession(request)

        # Check response status
        if request.getStatusCode() not in (statuscodes.OK, statuscodes.NoContent,):
            self.handleHTTPError(request)
    def importData(self, rurl, data, contentType):

        assert(isinstance(rurl, URL))

        # Create WebDAV POST
        request = Post(self, rurl.relativeURL())
        dout = RequestDataString(data, contentType)
        request.setData(dout, None)

        # Process it
        self.runSession(request)

        # Check response status
        if request.getStatusCode() not in (statuscodes.OK, statuscodes.MultiStatus, statuscodes.NoContent,):
            self.handleHTTPError(request)
Exemple #4
0
    def removeAttachment(self, rurl, managed_id):

        assert (isinstance(rurl, URL))

        # Create WebDAV POST
        rurl.extended = "?action=attachment-remove&managed-id=%s" % (
            managed_id, )
        request = Post(self, rurl.relativeURL())

        # Process it
        self.runSession(request)

        # Check response status
        if request.getStatusCode() not in (
                statuscodes.OK,
                statuscodes.NoContent,
        ):
            self.handleHTTPError(request)
Exemple #5
0
    def importData(self, rurl, data, contentType):

        assert (isinstance(rurl, URL))

        # Create WebDAV POST
        request = Post(self, rurl.relativeURL())
        dout = RequestDataString(data, contentType)
        request.setData(dout, None)

        # Process it
        self.runSession(request)

        # Check response status
        if request.getStatusCode() not in (
                statuscodes.OK,
                statuscodes.MultiStatus,
                statuscodes.NoContent,
        ):
            self.handleHTTPError(request)
    def updateAttachment(self, rurl, managed_id, filename, data, contentType, return_representation):

        assert(isinstance(rurl, URL))

        # Create WebDAV POST
        rurl.extended = "?action=attachment-update&managed-id=%s" % (managed_id,)
        request = Post(self, rurl.relativeURL())
        request.setRequestHeader("Content-Disposition", "attachment;filename=%s" % (filename,))
        if return_representation:
            request.setRequestHeader("Prefer", "return-representation")
        dout = RequestDataString(data, contentType)
        request.setData(dout, None)

        # Process it
        self.runSession(request)

        # Check response status
        if request.getStatusCode() not in (statuscodes.OK, statuscodes.Created, statuscodes.NoContent,):
            self.handleHTTPError(request)
Exemple #7
0
    def writeData(self, rurl, data, contentType, etag=None, method="PUT"):

        assert (isinstance(rurl, URL))

        # Create WebDAV PUT
        if method == "PUT":
            request = Put(self, rurl.relativeURL())
        elif method == "POST":
            request = Post(self, rurl.relativeURL())
        elif method == "OPTIONS":
            request = Options(self, rurl.relativeURL())

        dout = ResponseDataString()

        if data is not None:
            din = RequestDataString(data, contentType)
            if method == "PUT":
                request.setData(din, dout, etag=etag)
            elif method == "POST":
                request.setData(din, dout)
        else:
            request.setData(None, dout)

        # Process it
        self.runSession(request)

        # Check response status
        if request.getStatusCode() not in (
                statuscodes.OK,
                statuscodes.Created,
                statuscodes.NoContent,
        ):
            self.handleHTTPError(request)

        # Return data as a string
        return dout.getData()