Skip to main content

Manages multi-host uploads using plowshare.

Project description

Build Status Coverage Status PyPI version

Python wrapper for managing multi-host uploads and downloads using plowshare. After uploading it returns an object with links to the file it uploaded. This wrapper contains both a Python module and a command line tool.

Installation

Check INSTALL.rst for installation instructions.

Module Usage

Upload

This module is composed of a single class, which can be used to upload a file to multiple hosts at once. Example:

import plowshare

p = plowshare.Plowshare()
p.upload('/home/jessie/documents/README.rst', 3)

The above example uploads the given file to three different hosts, chosen at random from a predefined list. This list is a subset of the available plowshare modules, limited to the ones that allow anonymous access. You can check it in plowshare/hosts.py

You can also specify a list of hosts (plowshare module names) to use:

import plowshare

p = plowshare.Plowshare(['turbobit', 'multiupload', 'exoshare', 'rghost', 'bayfiles'])
p.upload('/home/jessie/documents/README.rst', 3)

The upload method returns an array of objects with the hosts and URLs to which it uploaded the file. If some of the uploads fail, it doesn’t return an URL, but an error flag instead.

Here’s an example:

[
    { "host_name": "mediafire",  "url":   "http://www.mediafire.com/?qorncpzfe74s9" },
    { "host_name": "rapidshare", "url":   "http://rapidshare.com/files/130403982" },
    { "host_name": "anonfiles",  "error": true }
]

Download

You can also download uploaded files, by providing the object that the upload method generated, and the directory and filename where to download the file. This method returns an object that contains the path where the file was downloaded, or an object with the error message. Example:

import plowshare

uploads = [
    { 'host_name': 'mediafire',  'url':'http://www.mediafire.com/?qorncpzfe74s9' },
    { 'host_name': 'rapidshare', 'url':'http://rapidshare.com/files/130403982' },
    { 'host_name': 'anonfiles',  'error':true }
]

p = plowshare.Plowshare()
p.download(info, '/tmp/', 'readme_copy.rst')

If multiple sources are provided, they are used as failovers for downloading the file. If at least one source is successful, the others won’t be attempted and download() will return an object with the full path filename and the first host it successfuly downloaded it from:

{ "host_name": "mediafire", "filename": "/tmp/readme_copy.rst" }

There are multiple errors that can occur. Here’s a list of the currently supported errors:

{ "error": "no valid sources" }

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plowshare-0.3.6.tar.gz (6.4 kB view details)

Uploaded Source

File details

Details for the file plowshare-0.3.6.tar.gz.

File metadata

  • Download URL: plowshare-0.3.6.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for plowshare-0.3.6.tar.gz
Algorithm Hash digest
SHA256 1e7e5dc7d5a9ca1d89be8e67da27e74bf65bb2f0a6b98bd8bea5d4308d1e5e2d
MD5 cc03248402d719c52faac8e55327ac61
BLAKE2b-256 18c7652d2f7e6ad282b4babaceb541b803fcc72b9132385f5197946e9456f52d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page