Metadata-Version: 1.1
Name: gocept.sftpcopy
Version: 0.3.0
Summary: Upload/download files via SFTP to a  maildir structure
Home-page: https://code.gocept.com/hg/public/gocept.sftpcopy
Author: Christian Zagrodnick <cz at gocept dot com>
Author-email: cz@gocept.com
License: ZPL 2.1
Description: ========
        SFTPCopy
        ========
        
        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
        - key_filename
        
        key_filename takes precedence over password. If key_filename ends with ``dsa``,
        it's assumed to be a DSA key, else an RSA key. Note that the key file must not
        be password protected.
        
        You can also use sftpcopy as a python object like this::
        
            import gocept.sftpcopy
            sftp = gocept.sftpcopy.SFTPCopy(
                '/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" [ALTERNATIVELY] key_filename="/path/to/private_key"
                remote_path="/path/on/remote/machine"
                arguments="
                x-ha-policy = all
                "
                />
        
            </configure>
        
        
        .. _`gocept.amqprun`: http://pypi.python.org/pypi/gocept.amqprun
        
        
        Changelog
        =========
        
        0.3.0 (2014-02-20)
        ==================
        
        - Support key-based authentication.
        
        - Check that the size of the transmitted file after up/download matches what
          was transferred.
        
        
        0.2.2 (2012-04-04)
        ==================
        
        - Update to gocept.amqprun-0.8.
        
        
        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.
        
        
        
        
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Operating System :: Unix
