diff --git a/agent/crawl/outlook.py b/agent/crawl/outlook.py index a14f054..86f987c 100644 --- a/agent/crawl/outlook.py +++ b/agent/crawl/outlook.py @@ -215,6 +215,7 @@ class OutlookCrawler(MailCrawler): attachments.append(fileRes) fileHandle, filePath = tempfile.mkstemp(prefix="olmail") filePointer = os.fdopen(fileHandle, "w") + mailContent = mailContent.encode('utf-8') filePointer.write(mailContent) filePointer.close() resource = MailResource(data=mailContent, diff --git a/agent/testing/sftp.py b/agent/testing/sftp.py new file mode 100644 index 0000000..831c9b8 --- /dev/null +++ b/agent/testing/sftp.py @@ -0,0 +1,38 @@ +# +# Copyright (c) 2008 Helmut Merz helmutm@cy55.de +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +""" +Fake sftp class for testing purposes + +$Id$ +""" + +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 + diff --git a/agent/transport/remote.py b/agent/transport/remote.py index 40e6f55..63a9bb7 100644 --- a/agent/transport/remote.py +++ b/agent/transport/remote.py @@ -26,6 +26,7 @@ $Id$ from twisted.internet import defer from zope.interface import implements +import os from cybertools.agent.system import rpcapi from cybertools.agent.system import sftpapi @@ -71,10 +72,8 @@ class Transporter(QueueableAgent): """ #return self.server.callRemote('getMetadata', resource.metadata) self.deferred = defer.Deferred() - # here the filename is to be specified for the remote path - # the filename has to be created artificially by the tempfile - # mechanism? - d = self.ftpServer.upload(resource.path, 'remote') + 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.addErrback(self.errorHandler)