Metadata-Version: 2.1
Name: gocept.sftpcopy
Version: 2.0
Summary: Upload/download files via SFTP to a maildir structure
Home-page: https://github.com/gocept/gocept.sftpcopy
Author: Christian Zagrodnick
Author-email: mail@gocept.com
License: ZPL 2.1
Description: ========
        SFTPCopy
        ========
        
        sftpcopy allows to copy files to or from a remote server -- integrates with
        `gocept.filestore <https://pypi.org/project/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
            buffer_size = 65536
            skip_files =
                name_of_file_to_skip_1
                name_of_file_to_skip_2
        
            [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
        - buffer_size (default: 65536, i.e. 64 KiB)
        - keepalive_interval (default: 5 seconds)
        - local_path
        - remote_path
        - hostname
        - port
        - username
        - password
        - key_filename
        - skip_files
        
        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.
        
        ``skip_files`` is a list of filenames (local or remote), which are skipped during
        upload or download.
        
        Files are copied in chunks of buffer_size to avoid loading big files into
        memory at once.
        
        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',
                skip_files=['my_file_to_ignore'])
            sftp.connect()
            sftp.uploadNewFiles()  # or sftp.downloadNewFiles()
        
        
        Changelog
        =========
        
        2.0 (2020-06-18)
        ================
        
        Backward incompatible changes
        -----------------------------
        
        - Remove AMQP integration. If you need AMQP integration, stick to using a
          version < 1.0.
        
        Other changes
        -------------
        
        - Add support for Python 3.7 and 3.8.
        
        - Migrate to Github.
        
        Info
        ----
        
        - Version 1.0 was in internal release, so omitting it here.
        
        
        0.6.0 (2016-11-02)
        ==================
        
        - Pinning version numbers of dependencies for tests.
        
        - Migrate to py.test as testrunner.
        
        - Add new `skip_files` parameter to skip upload or download of files.
        
        
        0.5.1 (2015-04-15)
        ==================
        
        - Update `bootstrap.py` to version from ``zc.buildout 2.3.0``.
        
        - Move repository to `bitbucket.org`.
        
        
        0.5.0 (2014-11-26)
        ==================
        
        - Set up keep-alive checking.
        
        
        0.4.1 (2014-03-07)
        ==================
        
        - Fixed brown-bag release.
        
        
        0.4.0 (2014-03-07)
        ==================
        
        - Copy files in chunks instead of loading each complete file into memory.
          There is a new config option ``buffer_size`` which defaults to 64 kB.
        
        
        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: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Communications
Classifier: Topic :: Internet
Classifier: Topic :: Internet :: File Transfer Protocol (FTP)
Provides-Extra: test
