Skip to content

Commit 8cf6f15

Browse files
author
zhanglei3
committed
Merge branch 'feature-minify' into 'develop'
新增模型代码混淆功能 See merge request bge/bge-python-sdk!5
2 parents 5060ef6 + 6c66585 commit 8cf6f15

84 files changed

Lines changed: 10622 additions & 3191 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.coverage

-16 KB
Binary file not shown.

.coveragerc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
[run]
32
branch = True
4-
omit = tests/*
3+
omit = tests/*,*management*,*__main__.py*,setup.py

CHANGELOG.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# [0.3.0](https://gitlab.omgut.com/bge/bge-python-sdk/compare/v0.2.4...v0.3.0) (2022-04-22)
2+
3+
4+
### Bug Fixes
5+
6+
* 修复模型配置命令不输入模型编号无法进入下一步的问题 ([e942e02](https://gitlab.omgut.com/bge/bge-python-sdk/commit/e942e0271c25bb6cba5170c40ead5a6000702cf5))
7+
* 专业级变异接口regions参数验证 ([56ab2c8](https://gitlab.omgut.com/bge/bge-python-sdk/commit/56ab2c812e6b7cf78534ba91884952081c57e3fb))
8+
* regions参数改为列表传入 ([023554a](https://gitlab.omgut.com/bge/bge-python-sdk/commit/023554acdf471d45a9800753ab2f2e78addf5ed8))
9+
10+
11+
### Features
12+
13+
* 更新 SDK 版本号至 v0.3.0 ([4cd68eb](https://gitlab.omgut.com/bge/bge-python-sdk/commit/4cd68eb6a85e33636934d73024133c948704df1b))
14+
* 新增命令行打印输出命令运行时间戳 ([d9b2638](https://gitlab.omgut.com/bge/bge-python-sdk/commit/d9b263808748a5d57b3771d208bc6c7e53c9af39))
15+
* 新增模型代码混淆功能至模型发布命令 ([1383072](https://gitlab.omgut.com/bge/bge-python-sdk/commit/13830724f0ecdbcc392a38ea7877a0a53c863c56))
16+
* 新增专业级变异接口 ([b753be0](https://gitlab.omgut.com/bge/bge-python-sdk/commit/b753be0b57f86d3e74431cbee226430ff6113c5d))
17+
* 增加模型代码混淆功能并使用 rich 增强命令行工具 ([44d83c6](https://gitlab.omgut.com/bge/bge-python-sdk/commit/44d83c6f71d6a3e511b5dc9f46790da2d9745ff8))
18+
* **command:** 增加 bge config list 命令 ([be7e542](https://gitlab.omgut.com/bge/bge-python-sdk/commit/be7e5428efee38026f83acd1d2f33c94b9761c54))
19+
20+
21+
22+
## [0.2.8](https://gitlab.omgut.com/bge/bge-python-sdk/compare/v0.2.4...v0.2.8) (2022-04-18)
23+
24+
25+
### Bug Fixes
26+
27+
* 更新自定义命令顺序 ([df04fcb](https://gitlab.omgut.com/bge/bge-python-sdk/commit/df04fcb773f004f6a399bb1cedfaf3d2cfa9f546))
28+
* 强制转 biosample_id 为大写,修复 get_taxon_abundance 返回 Model 对象 ([010d831](https://gitlab.omgut.com/bge/bge-python-sdk/commit/010d8313c997fcdb02de295373d8c5df08efcff1))
29+
* 删除命令中 biosample_id 调用的 upper 方法 ([b43799d](https://gitlab.omgut.com/bge/bge-python-sdk/commit/b43799dccde09f39901d0fbe15f2ddb041cda707))
30+
* 修复 py2 和 py3 对可变参数与关键字参数的位置格式问题 ([b9820b2](https://gitlab.omgut.com/bge/bge-python-sdk/commit/b9820b233e988b680eabd2ea77fbf4dba98476c7))
31+
* 修复 python3.7 中 argparser 要求 add_subparsers 要明确指定 required 参数的问题 ([c5a7f32](https://gitlab.omgut.com/bge/bge-python-sdk/commit/c5a7f320ce9ec60baa65e6ed67259292b7b1cf51))
32+
* 修复安装包时由于依赖造成包安装报错的问题 ([85f4625](https://gitlab.omgut.com/bge/bge-python-sdk/commit/85f462576dae64b696f4f8c95315cc2a98cf69bb))
33+
* 修复参数为 None 时提示无 upper 的错误 ([8c78a2d](https://gitlab.omgut.com/bge/bge-python-sdk/commit/8c78a2d7e6e37b5146c3f3497862d972298aefc6))
34+
* 修复模型配置命令不输入模型编号无法进入下一步的问题 ([e942e02](https://gitlab.omgut.com/bge/bge-python-sdk/commit/e942e0271c25bb6cba5170c40ead5a6000702cf5))
35+
* 修改 get_user 方法默认使用 /profile 接口 ([0acde99](https://gitlab.omgut.com/bge/bge-python-sdk/commit/0acde99603c56b882916520d9c89786535f174e8))
36+
* 专业级变异接口regions参数验证 ([56ab2c8](https://gitlab.omgut.com/bge/bge-python-sdk/commit/56ab2c812e6b7cf78534ba91884952081c57e3fb))
37+
* regions参数改为列表传入 ([023554a](https://gitlab.omgut.com/bge/bge-python-sdk/commit/023554acdf471d45a9800753ab2f2e78addf5ed8))
38+
* SDK命令行工具兼容windows系统,代码中print改为sys包输出 ([3cd2824](https://gitlab.omgut.com/bge/bge-python-sdk/commit/3cd2824013b12ccbffbcf24495beb57605044fe2))
39+
40+
41+
### Features
42+
43+
* 新增专业级变异接口 ([b753be0](https://gitlab.omgut.com/bge/bge-python-sdk/commit/b753be0b57f86d3e74431cbee226430ff6113c5d))
44+
45+
46+
47+
## [0.1.5](https://gitlab.omgut.com/bge/bge-python-sdk/compare/v0.1.4...v0.1.5) (2021-09-22)
48+
49+
50+
### Features
51+
52+
* 新增批量上传和目录上传接口和命令 ([d14033d](https://gitlab.omgut.com/bge/bge-python-sdk/commit/d14033d983661b304ebacd5a9adbabbd2c1db826))
53+
54+
55+
56+
## [0.1.4](https://gitlab.omgut.com/bge/bge-python-sdk/compare/v0.1.3...v0.1.4) (2021-09-18)
57+
58+
59+
### Bug Fixes
60+
61+
* 更新单元测试 ([fe172c2](https://gitlab.omgut.com/bge/bge-python-sdk/commit/fe172c206f10c9fd85e32e26d2840572d7025f9b))
62+
* 更新单元测试 OAuth2 的断言信息 ([bda033a](https://gitlab.omgut.com/bge/bge-python-sdk/commit/bda033af2f2c31c3006f6579bd2dfe708ee327e9))
63+
* 更新日志输出 ([7e50abe](https://gitlab.omgut.com/bge/bge-python-sdk/commit/7e50abeab3dffd3dfe7b65b5bc96c4b1b56e0477))
64+
* 模型文档预览工具逻辑修改 ([5ba6be5](https://gitlab.omgut.com/bge/bge-python-sdk/commit/5ba6be508242835b76a78b148d261d0de7905100))
65+
* 删除 token 命令的 --save 参数 ([683a428](https://gitlab.omgut.com/bge/bge-python-sdk/commit/683a4283e5f45bae18ecce3d1fceb5d24ffdeb76))
66+
* 删除无用参数 ([d7b4853](https://gitlab.omgut.com/bge/bge-python-sdk/commit/d7b4853849719a9bfe15ab026afd2542d38b32db))
67+
* 删除test.py ([c7a8f80](https://gitlab.omgut.com/bge/bge-python-sdk/commit/c7a8f8017ebad9d5f87d8054fd31cc070f53d31f))
68+
* 文档上传参数修改 ([59ceedc](https://gitlab.omgut.com/bge/bge-python-sdk/commit/59ceedc34808ebb325d1aa636498b9599e93e1cd))
69+
* 修复 client.download 中下载文件时 timeout 参数未定义的问题 ([b363659](https://gitlab.omgut.com/bge/bge-python-sdk/commit/b36365975d21317ccfda65e95c5a0ccf75a9eb00))
70+
* 修复 register_sample 返回对象时出错的问题 ([f848bb4](https://gitlab.omgut.com/bge/bge-python-sdk/commit/f848bb465957b7c8e29501cd2119d083024a5dba))
71+
* 修复本地测试模型无法 print 打印输出的问题 ([5ee3eb8](https://gitlab.omgut.com/bge/bge-python-sdk/commit/5ee3eb8716ba42007cb032a7db45812f020d8166))
72+
* 修复创建脚手架时未安装 requests_toolbelt 的问题 ([6f615d2](https://gitlab.omgut.com/bge/bge-python-sdk/commit/6f615d2bd697a5a3ffb71e6e3444a31da9d9084c))
73+
* 修复命令行工具 bge config 运行中 endpoint 错误的问题 ([2ec09ef](https://gitlab.omgut.com/bge/bge-python-sdk/commit/2ec09efce433f646b816e3f0f3bb207de25ee9c0))
74+
* 修复模型初始化包含字典的字典时出错的问题 ([83099ca](https://gitlab.omgut.com/bge/bge-python-sdk/commit/83099ca99332b8bbfac8b9c5abf1aa297c018203))
75+
* 修复模型命令相关脚本中 docker 服务未启动时的错误提示问题 ([55a5045](https://gitlab.omgut.com/bge/bge-python-sdk/commit/55a5045e70218f54469a6e6578384c12c9718be9))
76+
* 修复模型运行测试服务器时自动退出的问题 ([e851f22](https://gitlab.omgut.com/bge/bge-python-sdk/commit/e851f220b381fd4c0c53d2e8993847864fc22a12))
77+
* 修复自定义异常类错误 ([eb56d51](https://gitlab.omgut.com/bge/bge-python-sdk/commit/eb56d51379c8881df349c37ca328a153ea3c09c2))
78+
* 修改 bge model start 命令不存在 docker 镜像时自动拉取镜像 ([ff71129](https://gitlab.omgut.com/bge/bge-python-sdk/commit/ff711291b31efacaf274c4955778849c13ab5807))
79+
* 修改 docker 服务未启动时的错误提示 ([6793b05](https://gitlab.omgut.com/bge/bge-python-sdk/commit/6793b05025cab458d1a0e83dcb94fce0cf151d11))
80+
* 修改 timeout 参数 ([00bcdbb](https://gitlab.omgut.com/bge/bge-python-sdk/commit/00bcdbb0bbd480438615eac91a8d02801ce5e9b8))
81+
* 修改版本号 ([e9d4ad2](https://gitlab.omgut.com/bge/bge-python-sdk/commit/e9d4ad243050ffbc70606c1581fbf04bdf001fde))
82+
* 修改版本号 ([cb2e74d](https://gitlab.omgut.com/bge/bge-python-sdk/commit/cb2e74d5ecaa22d971b8202edd3d8a9574d8a726))
83+
* 修改模型 main.py 模板 ([58f5b8b](https://gitlab.omgut.com/bge/bge-python-sdk/commit/58f5b8b77a88788cb930f859184273ff6b6e2e40))
84+
* 修改模型依赖包安装命令 ([fcef9e4](https://gitlab.omgut.com/bge/bge-python-sdk/commit/fcef9e4134a112ced96e036954454d4f31a14e97))
85+
* 修改判断是否已安装docker的逻辑 ([ac6c0af](https://gitlab.omgut.com/bge/bge-python-sdk/commit/ac6c0af9a5fdbaa2880c27439e17987186a3b50e))
86+
* 修改为不指定具体依赖包版本 ([f67a7b6](https://gitlab.omgut.com/bge/bge-python-sdk/commit/f67a7b68825490597d5e9f459a971f230077b9a2))
87+
* 直接使用 pytest,避免 tox 提示警告 make 为外部命令 ([1c025f1](https://gitlab.omgut.com/bge/bge-python-sdk/commit/1c025f1c6d6588946eeff1ecfdb48b61482abe56))
88+
89+
90+
### Features
91+
92+
* 调整 API 初始化逻辑,去除 OAuth2 依赖 ([f0bbbfb](https://gitlab.omgut.com/bge/bge-python-sdk/commit/f0bbbfbab77b1478dc86c007403ceb7426f041d7))
93+
* 调整初始化参数等,新增 alive 接口 ([a404ecf](https://gitlab.omgut.com/bge/bge-python-sdk/commit/a404ecf10acaef7a702e876474b443be5bdd285d))
94+
* 更新版本号到 0.1.1 ([ed7746d](https://gitlab.omgut.com/bge/bge-python-sdk/commit/ed7746d01899990da9a3a82c5cce1e5d067a66f7))
95+
* 更新模型相关命令 ([572bac4](https://gitlab.omgut.com/bge/bge-python-sdk/commit/572bac4a1bd88d2b7d16477d40d04d41e685a9e4))
96+
* 获取变异位点与样品数据接口调整,去除问卷相关接口 ([99de9a2](https://gitlab.omgut.com/bge/bge-python-sdk/commit/99de9a2dcd8fadda5e6079b603b29ff2c60271ec))
97+
* 模型文档发布命令 ([64ae8fa](https://gitlab.omgut.com/bge/bge-python-sdk/commit/64ae8fa4aa6374852efb409a08820101c2b5d97c))
98+
* 模型文档上传接口 ([d1da6f4](https://gitlab.omgut.com/bge/bge-python-sdk/commit/d1da6f4a11cfea533742f9893121e662bdc1d297))
99+
* 删除模型 build 命令并限制打包文件上传大小 ([97bc7fd](https://gitlab.omgut.com/bge/bge-python-sdk/commit/97bc7fd9c6ec6b9ff72073d78ab3ebd6cd8de3ca))
100+
* 升级 SDK 命令行工具 ([5115e67](https://gitlab.omgut.com/bge/bge-python-sdk/commit/5115e67f2f8e1be45738309942bd184f2753b6a3))
101+
* 升级版本号 ([071f0dd](https://gitlab.omgut.com/bge/bge-python-sdk/commit/071f0dde6237b6d386bcc954a5c10ac4eae99d1b))
102+
* 添加git忽略文件 ([d1eb89f](https://gitlab.omgut.com/bge/bge-python-sdk/commit/d1eb89f19794511062aaf426fa414fda45b3f976))
103+
* 项目重构 ([8e78015](https://gitlab.omgut.com/bge/bge-python-sdk/commit/8e78015776752757a1b3613220e367ed71ad6e9e))
104+
* 项目重构 ([a088b39](https://gitlab.omgut.com/bge/bge-python-sdk/commit/a088b39d7e64fe622b1f4cfee28f04f340e88f94))
105+
* 新增 api 命令行工具并重构命令实现方式 ([4d142b8](https://gitlab.omgut.com/bge/bge-python-sdk/commit/4d142b83dbf3cf9cfe99366f4ef07e48f58c68c0))
106+
* 新增 OAuth2 数据模型,升级 Model 类,支持 json 格式的导入导出 ([740053a](https://gitlab.omgut.com/bge/bge-python-sdk/commit/740053a94dc03a6a205bb91cd8f9d39173db1363))
107+
* 新增 sdk 打包 ignore 特性,支持定义不希望打包上传的 unix filename patterns ([08a8f46](https://gitlab.omgut.com/bge/bge-python-sdk/commit/08a8f46f9e8c290dd5713bb990aac31dac9e87e7))
108+
* 新增 SDK 命令行工具 ([d8e8135](https://gitlab.omgut.com/bge/bge-python-sdk/commit/d8e813550a44f963c7a0db59937fefa65fa07d89))
109+
* 新增 upload 方法直接上传文件 ([859f47a](https://gitlab.omgut.com/bge/bge-python-sdk/commit/859f47a2e63d990c97e62d6b5cff5c188ce73ec4))
110+
* 新增客户端加密上传文件功能 ([c3a8983](https://gitlab.omgut.com/bge/bge-python-sdk/commit/c3a8983dfd1e416bd58af0378cbf35004c01d32b))
111+
* 新增模型配置项可选菜单和整数范围限制 ([052dd54](https://gitlab.omgut.com/bge/bge-python-sdk/commit/052dd54d8426425ea22bd5307f7fdf51e295a5ef))
112+
* 新增模型启动本地测试服务器命令 ([e11eda9](https://gitlab.omgut.com/bge/bge-python-sdk/commit/e11eda947c880d3ebba64a7156cadc4af0081b59))
113+
* 新增上传 pypi 命令 ([b819ed0](https://gitlab.omgut.com/bge/bge-python-sdk/commit/b819ed078535616c4ddb42b4286d48ca7d587224))
114+
* 新增上传模型数据集命令和接口,并增加文件上传进度日志 ([c987041](https://gitlab.omgut.com/bge/bge-python-sdk/commit/c9870410527e6da360aefd8a5026bf25bda93b05))
115+
* 新增授权码模式、用户、任务等命令 ([d21c098](https://gitlab.omgut.com/bge/bge-python-sdk/commit/d21c098d831c4cb13d326994055aff8bccae2875))
116+
* 新增数据流接口、部署模型、回滚模型接口 ([c78eed4](https://gitlab.omgut.com/bge/bge-python-sdk/commit/c78eed4eb98f7203ce7ff81bab35addfd4d703ea))
117+
* 新增数据项接口 ([45b4e2f](https://gitlab.omgut.com/bge/bge-python-sdk/commit/45b4e2f64656a9f21b465f0a4db8ff00f73f82f7))
118+
* 新增数据项接口 ([f91e7ea](https://gitlab.omgut.com/bge/bge-python-sdk/commit/f91e7eab95ce63396f76f124e480c98bdbc2ad3d))
119+
* 新增文件上传默认增加自定义头部保存上传文件的客户端编号,并新增 introspect 接口 ([94947e2](https://gitlab.omgut.com/bge/bge-python-sdk/commit/94947e2e540fd7bfa1a3cd9b623cd48ff12d6b39))
120+
* 新增下载文件到 file like object 的方法 ([30e74e7](https://gitlab.omgut.com/bge/bge-python-sdk/commit/30e74e7eaebb48686b3cbbce1d4fa1e25acbb2f8))
121+
* 修改上传日志为单行覆盖输出 ([86a6e9f](https://gitlab.omgut.com/bge/bge-python-sdk/commit/86a6e9f7b0ba41c15f365c8b0971190e3627778f))
122+
* 修改上传日志为单行覆盖输出 ([978af20](https://gitlab.omgut.com/bge/bge-python-sdk/commit/978af209bfb6ace017960ab696dbaf6ca07914c6))
123+
* 异常捕获简化处理 ([bfff596](https://gitlab.omgut.com/bge/bge-python-sdk/commit/bfff596354e638b7a4f02c077468e770aa062cda))
124+
* Change version ([af97b33](https://gitlab.omgut.com/bge/bge-python-sdk/commit/af97b33c14550696e4c5729494fc22d8908a2133))
125+
* sdk第一次提交 ([77f7fa5](https://gitlab.omgut.com/bge/bge-python-sdk/commit/77f7fa503f071b0b316e5164b7a1e987264d6e83))
126+
127+
128+

Jenkinsfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ node {
22
stage('SCM') {
33
checkout scm
44
}
5+
56
environment {
6-
JAVA_HOME = '/usr/lib/jvm/jdk-11'
7+
JAVA_HOME = '/usr/lib/jvm/jdk-11.0.2'
78
}
9+
810
stage('SonarQube Analysis') {
911
def scannerHome = tool 'SonarScanner';
1012
withSonarQubeEnv() {

Makefile

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ install:
66
$(PYTHON) setup.py install
77

88
# 构建源码包
9-
build: wheel
9+
build:
1010
$(PYTHON) setup.py bdist_wheel
11-
$(PYTHON) setup.py sdist --formats=gztar,zip,bztar,xztar,ztar,tar
12-
$(PYTHON) setup.py bdist
11+
$(PYTHON) setup.py sdist
1312

1413
# 单元测试
1514
test:
@@ -25,6 +24,9 @@ upload:
2524
pip install twine; \
2625
twine upload dist/*
2726

27+
changelog:
28+
npm run changelog
29+
2830
clean:
2931
rm -rf build \
3032
dist \
@@ -40,6 +42,7 @@ clean:
4042
bgesdk/management/commands/api/commands/*.pyc \
4143
bgesdk/management/commands/api/commands/__pycache__/ \
4244
tests/*.pyc \
43-
tests/__pycache__/
45+
tests/__pycache__/ \
46+
.bge/tmp/*
4447

45-
.PHONY: test upload upload-test build wheel install clean
48+
.PHONY: test upload upload-test build install changelog clean

bgesdk/error.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
from __future__ import unicode_literals
44

5-
import json
6-
75

86
class BGEError(Exception):
97
"""SDK 错误"""
@@ -13,11 +11,12 @@ class APIError(BGEError):
1311
"""接口错误"""
1412

1513
def __init__(self, code, msg, data=None):
16-
self.code = int(code)
14+
self.code = code = int(code)
1715
self.msg = msg
1816
self.data = data
19-
super(APIError, self).__init__({
20-
'code': self.code,
21-
'msg': self.msg,
22-
'data': self.data
23-
})
17+
self.result = result = {
18+
'code': code,
19+
'msg': msg,
20+
'data': data
21+
}
22+
super(APIError, self).__init__(result)

bgesdk/management/commands/api/commands/aggregate_omics_data.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
1-
import json
21
import sys
32

43
from bgesdk.client import API
54
from bgesdk.error import APIError
65
from bgesdk.management import constants
76
from bgesdk.management.command import BaseCommand
87
from bgesdk.management.utils import (
9-
get_active_project,
108
config_get,
11-
read_config,
12-
output
9+
get_active_project,
10+
output,
11+
output_json,
12+
read_config
1313
)
1414
from bgesdk.models import ModelEncoder
15-
from bgesdk.version import __version__
1615

1716

1817
DEFAULT_OAUTH2_SECTION = constants.DEFAULT_OAUTH2_SECTION
@@ -69,12 +68,6 @@ def add_arguments(self, parser):
6968
default=100,
7069
help='聚合时间维度返回数。'
7170
)
72-
parser.add_argument(
73-
'--pretty',
74-
default=False,
75-
action='store_true',
76-
help='打印可读性高的 JSON 字符串。'
77-
)
7871
parser.add_argument(
7972
'-t',
8073
'--access_token',
@@ -83,7 +76,6 @@ def add_arguments(self, parser):
8376
)
8477

8578
def handler(self, args):
86-
pretty = args.pretty
8779
access_token = args.access_token
8880
project = get_active_project()
8981
oauth2_section = DEFAULT_OAUTH2_SECTION
@@ -104,13 +96,11 @@ def handler(self, args):
10496
periods=args.periods
10597
)
10698
except APIError as e:
107-
output('请求失败:{}'.format(e))
99+
output('[red]请求失败:[/red]')
100+
output_json(e.result)
108101
sys.exit(1)
109-
if pretty:
110-
result = json.dumps(
111-
result, ensure_ascii=False, indent=4, cls=ModelEncoder
112-
)
113-
else:
114-
result = json.dumps(result, ensure_ascii=False, cls=ModelEncoder)
115-
output('请求成功,返回值:')
116-
output(result)
102+
output('[green]请求成功:[/green]')
103+
output_json(
104+
result,
105+
cls=ModelEncoder
106+
)

bgesdk/management/commands/api/commands/download.py

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
from bgesdk.management import constants
77
from bgesdk.management.command import BaseCommand
88
from bgesdk.management.utils import (
9-
get_active_project,
109
config_get,
11-
read_config,
12-
output
10+
console,
11+
get_active_project,
12+
output,
13+
output_json,
14+
read_config
1315
)
14-
from bgesdk.version import __version__
1516

1617

1718
DEFAULT_OAUTH2_SECTION = constants.DEFAULT_OAUTH2_SECTION
@@ -79,7 +80,11 @@ def handler(self, args):
7980
api = API(access_token, endpoint=endpoint, timeout=18.)
8081
filename = posixpath.split(object_name)[1]
8182
if filename == '':
82-
output('下载失败,object_name 不是文件:{}'.format(repr(object_name)))
83+
output(
84+
'[red]下载失败,object_name 不是文件:{}[/red]'.format(
85+
repr(object_name)
86+
)
87+
)
8388
sys.exit(1)
8489
if posixpath.exists(filename):
8590
basename, suffix = posixpath.splitext(filename)
@@ -90,16 +95,19 @@ def handler(self, args):
9095
if not posixpath.exists(filename):
9196
break
9297
i += 1
93-
try:
94-
with open(filename, mode) as fp:
95-
api.download(
96-
object_name,
97-
fp,
98-
region=args.region,
99-
expiration_time=args.expiration_time,
100-
chunk_size=args.chunk_size
101-
)
102-
except APIError as e:
103-
output('\n\n请求失败:{}'.format(e))
104-
sys.exit(1)
105-
output('\n\n文件下载成功:{}'.format(filename))
98+
message = '正在下载 {}'.format(object_name)
99+
with console.status(message, spinner='earth'):
100+
try:
101+
with open(filename, mode) as fp:
102+
api.download(
103+
object_name,
104+
fp,
105+
region=args.region,
106+
expiration_time=args.expiration_time,
107+
chunk_size=args.chunk_size
108+
)
109+
except APIError as e:
110+
output('[red]请求失败:[/red]')
111+
output_json(e.result)
112+
sys.exit(1)
113+
output('[green]文件下载成功:[/green]{}'.format(filename))

0 commit comments

Comments
 (0)