make transporter doctest run with fake sftp server module
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2760 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
c367f55637
commit
596222d42b
4 changed files with 14 additions and 7 deletions
|
@ -61,6 +61,8 @@ def setupEnvironment(config):
|
|||
api.setup(config)
|
||||
from cybertools.agent.system import rpcapi
|
||||
rpcapi.setup(config)
|
||||
from cybertools.agent.system import sftpapi
|
||||
sftpapi.setup(config)
|
||||
from cybertools.agent.crawl import base, filesystem, outlook
|
||||
|
||||
|
||||
|
|
|
@ -26,13 +26,12 @@ from twisted.internet.defer import succeed
|
|||
|
||||
|
||||
class FileTransfer(object):
|
||||
|
||||
|
||||
|
||||
|
||||
def __init__(self, host, port, username, password):
|
||||
pass
|
||||
|
||||
|
||||
def upload(self, localPath, remotePath):
|
||||
deferred = succeed('Upload completed')
|
||||
return deferred
|
||||
pass
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ class Transporter(QueueableAgent):
|
|||
|
||||
serverURL = ''
|
||||
server = ''
|
||||
host = port = None
|
||||
method = ''
|
||||
machineName = ''
|
||||
userName = ''
|
||||
|
@ -57,7 +58,8 @@ class Transporter(QueueableAgent):
|
|||
config = master.config
|
||||
self.serverURL = config.transport.remote.url
|
||||
self.server = rpcapi.xmlrpc.Proxy(self.serverURL)
|
||||
self.ftpServer = sftpapi.FileTransfer(host, port, username, password)
|
||||
self.ftpServer = sftpapi.FileTransfer(self.host, self.port,
|
||||
self.userName, self.password)
|
||||
#self.method = params[method]
|
||||
#self.machineName = params[machineName]
|
||||
#self.userName = params[userName]
|
||||
|
@ -74,9 +76,11 @@ class Transporter(QueueableAgent):
|
|||
self.deferred = defer.Deferred()
|
||||
remoteFile = os.path.basename(resource.path)
|
||||
d = self.ftpServer.upload(resource.path, remoteFile)
|
||||
d = self.server.callRemote('getMetadata', resource.metadata)
|
||||
d.addCallback(self.transferDone)
|
||||
#d = self.server.callRemote('getMetadata', resource.metadata)
|
||||
d.addErrback(self.errorHandler)
|
||||
d.addCallback(lambda result:
|
||||
self.server.callRemote('getMetadata', dict(resource.metadata)))
|
||||
d.addCallback(self.transferDone)
|
||||
return self.deferred
|
||||
|
||||
def errorHandler(self, errorInfo):
|
||||
|
|
|
@ -9,6 +9,7 @@ Agents for Job Execution and Communication Tasks
|
|||
... scheduler(name='core')
|
||||
... logger(name='default', standard=30)
|
||||
... transport.remote.server = 'testing'
|
||||
... transport.remote.sftp = 'testing'
|
||||
... transport.remote.url = 'http://localhost:8123'
|
||||
... '''
|
||||
>>> from cybertools.agent.main import setup
|
||||
|
@ -40,6 +41,7 @@ In the next step we request the start of a job, again via the controller.
|
|||
>>> md01 = Metadata(dict(filename='dummy.txt'))
|
||||
>>> r01 = Resource()
|
||||
>>> r01.metadata = md01
|
||||
>>> r01.path = 'resource.txt'
|
||||
>>> controller.enterJob('sample', 'sample03', params=dict(resource=r01))
|
||||
|
||||
The job is not executed immediately - we have to hand over control to
|
||||
|
|
Loading…
Add table
Reference in a new issue