Пример #1
0
 def test_normalizeURL(self):
     """
     normalizeURL()
     """
     self.assertEquals(util.normalizeURL("http://server//foo"), "http://server/foo")
     self.assertEquals(util.normalizeURL("http://server/foo/.."), "http://server/")
     self.assertEquals(util.normalizeURL("/foo/bar/..//"), "/foo")
     self.assertEquals(util.normalizeURL("/foo/bar/.//"), "/foo/bar")
     self.assertEquals(util.normalizeURL("//foo///bar/../baz"), "/foo/baz")
     self.assertEquals(util.normalizeURL("//foo///bar/./baz"), "/foo/bar/baz")
     self.assertEquals(util.normalizeURL("///../"), "/")
     self.assertEquals(util.normalizeURL("/.."), "/")
Пример #2
0
                                 % (davxml.PropertyFind.sname(), container))

    #
    # Generate XML output stream
    #
    request_uri = request.uri
    depth = request.headers.getHeader("depth", "infinity")

    xml_responses = []

    resources = [(self, None)]
    resources.extend(self.findChildren(depth))

    for resource, uri in resources:
        if uri is None:
            uri = normalizeURL(request_uri)
            if self.isCollection() and not uri.endswith("/"): uri += "/"
        else:
            uri = joinURL(request_uri, uri)

        resource_properties = waitForDeferred(resource.listProperties(request))
        yield resource_properties
        resource_properties = resource_properties.getResult()

        if search_properties is "names":
            properties_by_status = {
                responsecode.OK: [propertyName(p) for p in resource_properties]
            }
        else:
            properties_by_status = {
                responsecode.OK        : [],