work in progress: process upload of resources from loops.agent via HTTP PUT

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1954 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2007-08-23 13:28:15 +00:00
parent 1d0ff2aed2
commit a689fb09bb
3 changed files with 9 additions and 5 deletions

View file

@ -4,4 +4,3 @@ crawl[0].pattern = '*.txt'
crawl[0].transport = 'httpput'
crawl[0].repeat = 0
transport.serverURL = 'http://localhost:8123/loops'
#transport.serverURL = 'http://localhost:12080/sites/testsite/resources/'

View file

@ -22,6 +22,7 @@ Transporter base classes.
$Id$
"""
from base64 import b64encode
from twisted.internet import reactor
from twisted.internet.defer import Deferred, DeferredList, fail
from twisted.web.client import getPage
@ -93,12 +94,15 @@ class Transporter(object):
app = resource.application
deferreds = []
metadata = resource.metadata
auth = b64encode(':'.join((self.userName, self.password)))
headers = {'Authorization': 'Basic ' + auth}
if metadata is not None:
url = self.makePath('.meta', app, path, 'xml')
deferreds.append(
getPage(url, method=self.method, postdata=metadata.asXML()))
deferreds.append(getPage(url, method=self.method, headers=headers,
postdata=metadata.asXML()))
url = self.makePath('.data', app, path)
deferreds.append(getPage(url, method=self.method, postdata=text))
deferreds.append(getPage(url, method=self.method, headers=headers,
postdata=text))
return DeferredList(deferreds, fireOnOneErrback=True)
def makePath(self, infoType, app, path, extension=None):

View file

@ -150,7 +150,8 @@
<require
permission="zope.View"
interface="zope.app.container.interfaces.IReadContainer" />
interface="zope.app.container.interfaces.IReadContainer"
attributes="getLoopsRoot" />
<require
permission="zope.ManageContent"