跳转到主要内容

Mega.co.nz API的Python库

项目描述

Mega.py

Build Status Downloads PyPI version

Mega.co.nz API提供的Python库,目前支持

  • 登录
  • 上传
  • 下载
  • 删除
  • 搜索
  • 分享
  • 重命名
  • 移动文件

这是一个正在进行中的项目,更多功能即将推出。

有关更多信息,请参阅API_INFO.md

使用方法

创建Mega账户

首先,在Mega上创建账户 .

安装mega.py包

运行以下命令,或从最新github源运行设置。

pip install mega.py

导入mega.py

from mega import Mega

创建mega.py的实例

mega = Mega()

登录到Mega

m = mega.login(email, password)
# login using a temporary anonymous account
m = mega.login()

获取用户详情

details = m.get_user()

获取账户余额(仅限Pro账户)

balance = m.get_balance()

获取账户磁盘配额

quota = m.get_quota()

获取账户存储空间

# specify unit output kilo, mega, gig, else bytes will output
space = m.get_storage_space(kilo=True)

获取账户文件

files = m.get_files()

上传文件并获取其公开链接

file = m.upload('myfile.doc')
m.get_upload_link(file)
# see mega.py for destination and filename options

导出文件或文件夹

public_exported_web_link = m.export('myfile.doc')
public_exported_web_link = m.export('my_mega_folder/my_sub_folder_to_share')
# e.g. https://mega.nz/#F!WlVl1CbZ!M3wmhwZDENMNUJoBsdzFng

查找文件或文件夹

folder = m.find('my_mega_folder')
# Excludes results which are in the Trash folder (i.e. deleted)
folder = m.find('my_mega_folder', exclude_deleted=True)

将文件上传到目标文件夹

folder = m.find('my_mega_folder')
m.upload('myfile.doc', folder[0])

从URL或文件对象下载文件,可选指定目标文件夹

file = m.find('myfile.doc')
m.download(file)
m.download_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc')
m.download(file, '/home/john-smith/Desktop')
# specify optional download filename (download_url() supports this also)
m.download(file, '/home/john-smith/Desktop', 'myfile.zip')

从URL导入文件,可选指定目标文件夹

m.import_public_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc')
folder_node = m.find('Documents')[1]
m.import_public_url('https://mega.co.nz/#!utYjgSTQ!OM4U3V5v_W4N5edSo0wolg1D5H0fwSrLD3oLnLuS9pc', dest_node=folder_node)

创建文件夹

m.create_folder('new_folder')
m.create_folder('new_folder/sub_folder/subsub_folder')

返回文件夹节点名称和节点_id的字典,例如

{
  'new_folder': 'qpFhAYwA',
  'sub_folder': '2pdlmY4Z',
  'subsub_folder': 'GgMFCKLZ'
}

重命名文件或文件夹

file = m.find('myfile.doc')
m.rename(file, 'my_file.doc')

联系支持

对于付费优先支持,请联系 mega@odwyer.software

英国Python开发机构

发布历史

1.0.8 (2020-06-25)

  • 修复了当存在多个具有该名称的文件时,find方法返回错误文件的问题。
  • 处理新的共享文件URL。

1.0.7 (2020-03-25)

  • 修复了通过计算公共RSA指数而不是硬编码来登录的问题。

1.0.6 (2020-02-03)

  • 修复了RSA公共指数问题。
  • 将依赖项pycrypto切换到pycryptodome。

1.0.5 (2019-11-18)

  • 增加失败API请求重试之间的等待时间。

1.0.4 (2019-11-18)

  • 增加失败API请求重试之间的等待时间。

1.0.3 (2019-11-12)

  • 修复了损坏的download方法。
  • downloaddownload_url方法更改为返回下载文件的路径,之前返回的是None
  • 添加了LICENSE。

1.0.2 (2019-11-07)

  • 撤销“用pycryptodome替换pycrypto依赖”的更改,因为它会中断登录过程。

1.0.1 (2019-11-06)

  • 当请求因EAGAIN响应失败时,使用指数退避重试,最多20秒。
  • 添加了日志记录,移除了打印语句。
  • 用pycryptodome替换pycrypto依赖。
  • 移除了特定于Python 2的代码。

1.0.0 (2019-10-31)

  • 移除了损坏的方法get_contacts()
  • 添加了对使用v2 Mega用户账户登录的支持。
  • 添加了export()方法,用于共享文件或文件夹,返回包含密钥的公共分享URL。
  • 为RequestError异常添加了code和message属性,使得抛出的异常中的消息包含更多详细信息。
  • 修改了create_folder(),使其可以接受包含多个子目录的路径,并添加了创建所有这些目录的支持(类似于Unix系统上的'mkdir -p')。
  • find()方法添加了exclude_deleted=True可选参数,以排除结果中的已删除节点。

0.9.20 (2019-10-17)

  • 修复了upload方法的Python 3错误。

0.9.19 (2019-10-16)

  • 添加了Python 3支持并修复了错误。
  • 更新了打包代码。
  • 添加了更改日志。

0.9.18 (2013-07-04)

  • 未知

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

mega.py-1.0.8.tar.gz (18.6 kB 查看哈希)

上传

构建分布

mega.py-1.0.8-py2.py3-none-any.whl (19.5 kB 查看哈希)

上传 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面