added dummy sftp.py for testing purposes

remote.py: now the file on the remote server gets the basename of the local file
outlook.py: added utf-8 encoding for the mail content to avoid problems with special characters

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2759 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
scrat 2008-07-13 09:06:28 +00:00
parent de5c020e1b
commit c367f55637
3 changed files with 42 additions and 4 deletions

View file

@ -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,

38
agent/testing/sftp.py Normal file
View file

@ -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

View file

@ -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)