使用Plowshare管理多主机上载。
plowshare的Python项目详细描述
用于管理多主机上载和下载的python包装器 plowshare。上传后,它返回一个带有指向 上传的文件。这个包装器包含一个python模块和一个 命令行工具。
安装
有关安装说明,请检查install.rst。
模块使用
上传
此模块由单个类组成,可用于上载 一次将文件发送到多个主机。示例:
import plowshare p = plowshare.Plowshare() p.upload('/home/jessie/documents/README.rst', 3)
上面的示例将给定的文件上载到三个不同的主机, 从预先定义的列表中随机选择。此列表是 可用的犁铧模块,仅限于允许匿名的模块 进入。您可以在plowshare/hosts.py中查看它
您还可以指定要使用的主机列表(共享模块名称):
import plowshare p = plowshare.Plowshare(['turbobit', 'multiupload', 'exoshare', 'rghost', 'bayfiles']) p.upload('/home/jessie/documents/README.rst', 3)
upload方法返回一个对象数组,其中包含 它上传了文件。如果有些上传失败了,它就不会 返回一个url,但是返回一个错误标志。
下面是一个示例:
[ { "host_name": "mediafire", "url": "http://www.mediafire.com/?qorncpzfe74s9" }, { "host_name": "rapidshare", "url": "http://rapidshare.com/files/130403982" }, { "host_name": "anonfiles", "error": true } ]
下载
您还可以通过提供 生成上载方法,以及目录和文件名 下载文件。此方法返回一个包含路径的对象 下载文件的位置,或带有错误消息的对象。 示例:
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')
如果提供多个源,它们将用作 正在下载文件。如果至少有一个来源是成功的,其他来源 不会尝试,并且download()将返回具有 完整路径文件名及其成功下载的第一个主机:
{ "host_name": "mediafire", "filename": "/tmp/readme_copy.rst" }
可能会发生多个错误。以下是当前 支持的错误:
{ "error": "no valid sources" }