Upload/download files via SFTP to a maildir structure
Project description
sftpcopy allows to copy files to or from a remote server – integrates with gocept.filestore. sftpcopy will take files from the new directory, copy them to the remote server and put them into cur on success. Likewise it will download files from the remote server and put them into the new directory for another application to pick it up.
Usage
You can either give the name of a configuration file on the commandline, or pass the configuration values as a dict directly to the entrypoint (useful for buildout integration). The configuration file has the following format:
[general] mode = upload # or download logfile = /path/to/logfile # defaults to stdout if not given [local] path = /path/on/local/machine [remote] path = /path/on/remote/machine hostname = remote.host port = 22 username = user password = secret
The configdict uses the following keys instead:
logfile
local_path
remote_path
hostname
port
username
password
You can also use sftpcopy as a python object like this:
import gocept.sftpcopy sftp = gocept.sftpcopy.SFTPCopy( 'download', '/path/on/local/machine', 'remote.host', 22, 'user', 'secret', '/path/on/remote/machine') sftp.connect() sftp.uploadNewFiles() # or sftp.downloadNewFiles()
AMQP integration
If you require the amqp extra, gocept.sftpcopy offers a gocept.amqprun queue handler that uploads the message body as a file via SFTP (it respects the X-Filename header or generates a filename based on routing key and a timestamp). Here’s an example ZCML snippet:
<configure xmlns="http://namespaces.zope.org/zope" xmlns:amqp="http://namespaces.gocept.com/amqp"> <include package="gocept.amqprun" /> <include package="gocept.sftpcopy" file="meta.zcml" /> <amqp:sftpupload routing_key="test.data" queue_name="test.queue" hostname="remote.host" port="22" username="user" password="secret" remote_path="/path/on/remote/machine" arguments=" x-ha-policy = all " /> </configure>
Changelog
0.2.1 (2012-03-29)
Make amqp server configurable for tests.
Clean up garbage connections left by tests (#10634).
0.2 (2012-02-22)
Add gocept.amqprun integration.
0.1.4 (2009-11-16)
Log errors that occur while connecting
0.1.3 (2008-02-27)
Added configdict argument to main function for easier buildout integration.
0.1.2 (2008-02-18)
Fixed bug in connection logging.
Remember filestore so we can actually upload/download.
Did some testing predefined user.
0.1.1 (2007-11-13)
Fixed brown back release 0.1 which was not usable at all since there were various files missing in the archive.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.