Metadata-Version: 1.1
Name: ftpretty
Version: 0.1.6
Summary: Pretty FTP wrapper
Home-page: https://github.com/codebynumbers/ftpretty/
Author: Rob Harrigan
Author-email: harrigan.rob@gmail.com
License: MIT
Download-URL: https://github.com/codebynumbers/ftpretty/tarball/0.1.6
Description: .. image:: https://travis-ci.org/codebynumbers/ftpretty.png?branch=master
           :target: https://travis-ci.org/codebynumbers/ftpretty
        
        ftpretty
        ========
        
        A wrapper for simple FTP operations: get, put, list etc.
        
        The goal of this library is to provide a frictionless experience to FTPing files
        in way similar to Amazon's s3cmd command line tool. The API should be intuitive
        with the order of arguments reflecting the transfer direction of bytes.
        
        Transfers are assumed to be binary. 
        
        
        Unrecognized commands fall through to the underlying FTP or FTP_TLS connection object
        
        Examples
        --------
        
        ::
        
            from ftpretty import ftpretty
        
            # Minimal
            f = ftpretty(host, user, pass)
        
            # Advanced
            # kwargs are passed to underlying FTP or FTP_TLS connection
            # secure=True argument switches to an FTP_TLS connection default is False
            # passive=False disable passive connection, True is the default
            f = ftpretty(host, user, pass, secure=True, passive=False, timeout=10)
        
            # Get a file, save it locally
            f.get('someremote/file/on/server.txt', '/tmp/localcopy/server.txt')
        
            or 
        
            # Get a file and write to an open file
            myfile = open('/tmp/localcopy/server.txt', 'wb')
            f.get('someremote/file/on/server.txt', myfile)
        
            or
        
            # Get a file and return contents
            contents = f.get('someremote/file/on/server.txt')
        
            # Put a local file to a remote location
            # non-existent subdirectories will be created automatically
            f.put('/tmp/localcopy/data.txt', 'someremote/file/on/server.txt')
        
            or
        
            # Put a local file into a remote directory, denoted by trailing slash on remote
            f.put('/tmp/localcopy/data.txt', 'someremote/dir/')
        
            or
        
            # Put using an open file desciptor
            myfile = open('/tmp/localcopy/data.txt', 'r')
            f.put(myfile,  'someremote/file/on/server.txt')
        
            or
        
            # Put using string data
            f.put(None,  'someremote/file/greeting.txt', contents='blah blah blah')
        
            # Return a list the files in a directory
            f.list('someremote/folder')
            ['a.txt', 'b.txt']
        
            f.list('someremote/folder', extra=True)
            [{'date': 'Feb 11',
              'datetime': datetime.datetime(2014, 2, 11, 2, 3),
              'directory': 'd',
              'group': '1006',
              'items': '3',
              'name': 'a.txt',
              'owner': '1005',
              'perms': 'rwxr-xr-x',
              'size': '4096',
              'time': '02:03',
              'year': '2014'},
             {'date': 'Feb 11',
              'datetime': datetime.datetime(2014, 2, 11, 2, 35),
              'directory': 'd',
              'group': '1006',
              'items': '3',
              'name': 'b.txt',
              'owner': '1005',
              'perms': 'rwxr-xr-x',
              'size': '4096',
              'time': '02:35',
              'year': '2014'}]
            
            # Change to remote directory
            f.cd('someremote/folder')
        
            # Delete a remote file 
            f.delete('someremote/folder/file.txt')
        
            # Close the connection
            f.close()
        
        
        
        Changelog for ftpretty
        ======================
        
        0.1.6 (2014-02-17)
        ------------------
           - Parse file dates in list(extra=True) into datetime objects
           - add dateutil dependency
           - Add tests and mock FTP client
           - Reformat authors file
           - Some more examples
           - Pep8ify
        
        0.1.5 (2014-02-17)
        ------------------
           - Version bump for PyPI
        
        0.1.4 (2014-02-17)
        ------------------
           - History fix
        
        0.1.3 (2014-02-17)
        ------------------
           - Add passive flag
        
        0.1.2 (2014-02-13)
        ------------------
           - Initial release.
        
        
        Authors
        =======
        
        - Rob Harrigan
        - Chris Cannon
        
Platform: UNKNOWN
