0.2.2 ZPL (Zope Public License)    
2.0/5 1


Upload/download files via SFTP to a maildir structure





sftpcopy is a Python tool that 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.


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:

mode = upload # or download
logfile = /path/to/logfile # defaults to stdout if not given

path = /path/on/local/machine

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.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
 x-ha-policy = all
 / >

< /configure >
Last updated on April 6th, 2012

#file uploader #maildir structure #SFTP #uploader #downloader #maildir

0 User reviews so far.