Skip to content

joshmaker/transporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tranporter 0.1

Transporter is a Python library that provides a consistent API for navigating FTP, SSH, local file systems, and more.

Helper functions

Tranporter comes with three helper functions for uploading or downloading files: get, put, transport

from transporter import get, put, transport

# Example use
data = get('http://example.com/path/to/file.txt')
put('ftp://josh:[email protected]/path/to/new_file.txt', 'file contents')
transport('http://josh:[email protected]/path/to/file.txt',
        '/Users/josh/Desktop/file.txt')

Initializing Transporter objects

Transporter instances are easily created from URI string or an object compatible with the urlparse.ParseResult interface.

from transporter import Transporter
ftp = Transporter('ftp://user:[email protected]/initial/path/')

Transporter object interface

The basic interface for Transporter objects should be familiar to anyone with basic experience navigating the *nix command line.

Transporter.cd(path)
    change directory to path

Transporter.pwd()
    print current working directory

Transporter.mv(source, destination)
    move a file or folder from source to destination

Transporter.mkdir(path)
    create a new directory

Transporter.rmdir(path)
    delete directory at path

Transporter.rm(path)
    delete file at path

from transporter import Transporter
t = Transporter('file:/Users/josh')
t.mkdir('new_folder')
t.cd('new_folder')
t.mkdir('sub_folder')
print t.pwd()  # /Users/josh/new_folder
print t.ls()  # ['sub_folder']
t.mv('sub_folder', 'new_name')
t.rmdir('new_name')

t2 = Transporter('ftp://joshmaker:[email protected]/folder/')
t2.mkdir('new_folder')
t2.mkdir('new_folder/sub_folder')
t2.ls('new_folder')  # ['sub_folder']

Additionally, Transporter objects provide the following methods for creating and accessing file data:

Transporter.get(path)
    Retrieve a file object located at path

Transporter.put(data, path)
    Creates a new file located at path that contains data

from transporter import Transporter
t1 = Transporter('file:/Users/josh')
data = t1.get('local_file.txt')

t2 = Transporter('ftp://joshmaker:[email protected]/folder/')
t2.put('remote_file.txt', data)

Note: Transporters for HTTP and HTTPS only support pwd, cd, get, and put

About

Python library that provides a consistent API for working with FTP, local file systems, etc

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages