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) attachments.append(fileRes)
fileHandle, filePath = tempfile.mkstemp(prefix="olmail") fileHandle, filePath = tempfile.mkstemp(prefix="olmail")
filePointer = os.fdopen(fileHandle, "w") filePointer = os.fdopen(fileHandle, "w")
mailContent = mailContent.encode('utf-8')
filePointer.write(mailContent) filePointer.write(mailContent)
filePointer.close() filePointer.close()
resource = MailResource(data=mailContent, 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 twisted.internet import defer
from zope.interface import implements from zope.interface import implements
import os
from cybertools.agent.system import rpcapi from cybertools.agent.system import rpcapi
from cybertools.agent.system import sftpapi from cybertools.agent.system import sftpapi
@ -71,10 +72,8 @@ class Transporter(QueueableAgent):
""" """
#return self.server.callRemote('getMetadata', resource.metadata) #return self.server.callRemote('getMetadata', resource.metadata)
self.deferred = defer.Deferred() self.deferred = defer.Deferred()
# here the filename is to be specified for the remote path remoteFile = os.path.basename(resource.path)
# the filename has to be created artificially by the tempfile d = self.ftpServer.upload(resource.path, remoteFile)
# mechanism?
d = self.ftpServer.upload(resource.path, 'remote')
d = self.server.callRemote('getMetadata', resource.metadata) d = self.server.callRemote('getMetadata', resource.metadata)
d.addCallback(self.transferDone) d.addCallback(self.transferDone)
d.addErrback(self.errorHandler) d.addErrback(self.errorHandler)