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].transport = 'httpput'
crawl[0].repeat = 0 crawl[0].repeat = 0
transport.serverURL = 'http://localhost:8123/loops' transport.serverURL = 'http://localhost:8123/loops'
#transport.serverURL = 'http://localhost:12080/sites/testsite/resources/'

View file

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

View file

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