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)
|
api.setup(config)
|
||||||
from cybertools.agent.system import rpcapi
|
from cybertools.agent.system import rpcapi
|
||||||
rpcapi.setup(config)
|
rpcapi.setup(config)
|
||||||
|
from cybertools.agent.system import sftpapi
|
||||||
|
sftpapi.setup(config)
|
||||||
from cybertools.agent.crawl import base, filesystem, outlook
|
from cybertools.agent.crawl import base, filesystem, outlook
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -34,5 +34,4 @@ class FileTransfer(object):
|
||||||
def upload(self, localPath, remotePath):
|
def upload(self, localPath, remotePath):
|
||||||
deferred = succeed('Upload completed')
|
deferred = succeed('Upload completed')
|
||||||
return deferred
|
return deferred
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
|
@ -46,6 +46,7 @@ class Transporter(QueueableAgent):
|
||||||
|
|
||||||
serverURL = ''
|
serverURL = ''
|
||||||
server = ''
|
server = ''
|
||||||
|
host = port = None
|
||||||
method = ''
|
method = ''
|
||||||
machineName = ''
|
machineName = ''
|
||||||
userName = ''
|
userName = ''
|
||||||
|
@ -57,7 +58,8 @@ class Transporter(QueueableAgent):
|
||||||
config = master.config
|
config = master.config
|
||||||
self.serverURL = config.transport.remote.url
|
self.serverURL = config.transport.remote.url
|
||||||
self.server = rpcapi.xmlrpc.Proxy(self.serverURL)
|
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.method = params[method]
|
||||||
#self.machineName = params[machineName]
|
#self.machineName = params[machineName]
|
||||||
#self.userName = params[userName]
|
#self.userName = params[userName]
|
||||||
|
@ -74,9 +76,11 @@ class Transporter(QueueableAgent):
|
||||||
self.deferred = defer.Deferred()
|
self.deferred = defer.Deferred()
|
||||||
remoteFile = os.path.basename(resource.path)
|
remoteFile = os.path.basename(resource.path)
|
||||||
d = self.ftpServer.upload(resource.path, remoteFile)
|
d = self.ftpServer.upload(resource.path, remoteFile)
|
||||||
d = self.server.callRemote('getMetadata', resource.metadata)
|
#d = self.server.callRemote('getMetadata', resource.metadata)
|
||||||
d.addCallback(self.transferDone)
|
|
||||||
d.addErrback(self.errorHandler)
|
d.addErrback(self.errorHandler)
|
||||||
|
d.addCallback(lambda result:
|
||||||
|
self.server.callRemote('getMetadata', dict(resource.metadata)))
|
||||||
|
d.addCallback(self.transferDone)
|
||||||
return self.deferred
|
return self.deferred
|
||||||
|
|
||||||
def errorHandler(self, errorInfo):
|
def errorHandler(self, errorInfo):
|
||||||
|
|
|
@ -9,6 +9,7 @@ Agents for Job Execution and Communication Tasks
|
||||||
... scheduler(name='core')
|
... scheduler(name='core')
|
||||||
... logger(name='default', standard=30)
|
... logger(name='default', standard=30)
|
||||||
... transport.remote.server = 'testing'
|
... transport.remote.server = 'testing'
|
||||||
|
... transport.remote.sftp = 'testing'
|
||||||
... transport.remote.url = 'http://localhost:8123'
|
... transport.remote.url = 'http://localhost:8123'
|
||||||
... '''
|
... '''
|
||||||
>>> from cybertools.agent.main import setup
|
>>> 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'))
|
>>> md01 = Metadata(dict(filename='dummy.txt'))
|
||||||
>>> r01 = Resource()
|
>>> r01 = Resource()
|
||||||
>>> r01.metadata = md01
|
>>> r01.metadata = md01
|
||||||
|
>>> r01.path = 'resource.txt'
|
||||||
>>> controller.enterJob('sample', 'sample03', params=dict(resource=r01))
|
>>> controller.enterJob('sample', 'sample03', params=dict(resource=r01))
|
||||||
|
|
||||||
The job is not executed immediately - we have to hand over control to
|
The job is not executed immediately - we have to hand over control to
|
||||||
|
|
Loading…
Add table
Reference in a new issue