bge-python-sdk 0.6.0__py3-none-any.whl → 0.6.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bge-python-sdk
3
- Version: 0.6.0
3
+ Version: 0.6.2
4
4
  Summary: 可用于调用 BGE 开放平台的相关接口。
5
5
  Home-page: https://github.com/teambge/bge-python-sdk
6
6
  Author: leafcoder,xiangji1204
@@ -9,7 +9,6 @@ Maintainer: leafcoder
9
9
  Maintainer-email: leafcoder@gmail.com
10
10
  License: MIT
11
11
  Keywords: bge-python-sdk bge bgesdk sdk
12
- Platform: UNKNOWN
13
12
  Classifier: Development Status :: 5 - Production/Stable
14
13
  Classifier: Intended Audience :: Developers
15
14
  Classifier: License :: OSI Approved :: MIT License
@@ -29,6 +28,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
28
  Classifier: Topic :: Utilities
30
29
  Requires-Python: >=3.6.3
31
30
  Description-Content-Type: text/markdown
31
+ License-File: LICENSE
32
32
  Requires-Dist: aliyun-python-sdk-core
33
33
  Requires-Dist: six
34
34
  Requires-Dist: certifi
@@ -180,5 +180,3 @@ print(api.get_variants('E-B1243433', 'rs333'))
180
180
 
181
181
  * xiangji1204's [github](https://github.com/xiangji1204)
182
182
  * leafcoder(leafcoder@gmail.com)'s [github](https://github.com/leafcoder)
183
-
184
-
@@ -1,13 +1,13 @@
1
1
  bgesdk/__init__.py,sha256=FgKWRqlkspNPC79IF6yLD6SEMST-gl55ZQXT_jOPUb4,124
2
2
  bgesdk/__main__.py,sha256=IDvh-O043qXjyp1CX0FH_tX2ss1FWZKbWqOGpu_wtSk,2196
3
- bgesdk/client.py,sha256=p9oE9iFbU58cA7FNlxgOjMd7uWlwBQGQoAgArjXf0V8,52053
3
+ bgesdk/client.py,sha256=LFNUIeLd08Z9v-nEwhuCbM-MUhfchiXrMeDmPnu4C-Q,53424
4
4
  bgesdk/constants.py,sha256=bE60GPAHLg1UzacrOllPXGqUwhsVo5kjwJq9_ibB4Ng,636
5
5
  bgesdk/error.py,sha256=GVxBbz1REoypN3OqDzZXd0f-B0J_P1pBRapH1TnQucc,462
6
6
  bgesdk/fs.py,sha256=36wi3FEUHAirEFJpYEtjIN3wwDilPRFIEt45TjXUEVM,154
7
7
  bgesdk/http.py,sha256=SZoPm4kO99QCHQU1p2G5zicl34n3dpMMxfA1oYo7EGA,4503
8
8
  bgesdk/models.py,sha256=gRxJUue9nDvJAeIAsSCe3M-wzPHvnBNatkIn6DRXQ1M,3865
9
9
  bgesdk/utils.py,sha256=i-s74kQlnlQk7QQi9wur6ack1gUwyS1Mw4F-L0w1cpw,884
10
- bgesdk/version.py,sha256=eNyfA5OdKZVscNdbu7rnNg3_yPUV8kB2j3mnY26wOGA,46
10
+ bgesdk/version.py,sha256=JcZliSJCv879QkXKmj7fJHcWtsHApyiQrLCvFqUDCHw,46
11
11
  bgesdk/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  bgesdk/management/command.py,sha256=TyssJaZ_pUQ7JitJkfh0PMK8y8GATobd5yL2O1vm_Nk,701
13
13
  bgesdk/management/constants.py,sha256=lPPix3TQ-OisDikIODK4-_1ebM5GiuITkJVFqWR8zYI,1508
@@ -22,20 +22,20 @@ bgesdk/management/commands/token.py,sha256=BqplYw-1ESBpxJOvs6kzcYqpcdqJGs35z5JR9
22
22
  bgesdk/management/commands/workon.py,sha256=WEC__3tlVy7ZXGZug-rwf5pd59UTTsh6xxoKefKTL3s,1183
23
23
  bgesdk/management/commands/api/__init__.py,sha256=nl_es-yj-q4Xo5sUny-i-gE26FVOYZNyX1zhUTvETS8,1975
24
24
  bgesdk/management/commands/api/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- bgesdk/management/commands/api/commands/aggregate_omics_data.py,sha256=NFXN0U8KOvv8LWM9rBMWZj633YVFBMj_Zwrt-XKEvy0,3213
26
- bgesdk/management/commands/api/commands/download.py,sha256=uKttsGLUSKEoZgE19Udodj8niI-rhB7U-kD1z6seaMg,3508
27
- bgesdk/management/commands/api/commands/get_data_items.py,sha256=wMjNBzgMGHLtMM610N_Yax4wAUO7XhePbmNYVX0ebQc,2584
28
- bgesdk/management/commands/api/commands/get_externals.py,sha256=rhYOLdUFtJMTwWPm1TDps8PgozqkeOWuPP93Ph5Pd5I,1935
25
+ bgesdk/management/commands/api/commands/aggregate_omics_data.py,sha256=_UW_1dAnN6gs5lQBunDBBdl6EPWpD4cXIGFXXqUBEck,3215
26
+ bgesdk/management/commands/api/commands/download.py,sha256=jlhR9WMVW-K1NdSSQRhT0pVMqhZAKidE4ZnlyYjjwGI,3510
27
+ bgesdk/management/commands/api/commands/get_data_items.py,sha256=FTO2Gq7txpF_SJ6Ur6fvGdA3nW4obJNNswLgHT3SKb8,2586
28
+ bgesdk/management/commands/api/commands/get_externals.py,sha256=1frhejqQR0MtWJhyrqC6W2K3I1jDWHfVySL70gbPhzE,1937
29
29
  bgesdk/management/commands/api/commands/get_func_abundance.py,sha256=VlCSCco8W-SiluGZ_vJCXsbfhJgPCYHgzVG9qKumqeg,2713
30
30
  bgesdk/management/commands/api/commands/get_gene_abundance.py,sha256=w8emHuIZgu7pMcSuysE8GbEwRjlNGJYIYCSKCtvjsgM,2933
31
- bgesdk/management/commands/api/commands/get_range_stream.py,sha256=HOz2Se-WkDd2BFEZInXbOVVAJxAd3wq3z_xVIlH7a5c,2955
32
- bgesdk/management/commands/api/commands/get_samples.py,sha256=dkvbD5wKIqXMkhvEpsNALrvR9CTBEipyOIZ3q7lR-Mg,3514
31
+ bgesdk/management/commands/api/commands/get_range_stream.py,sha256=xt-zMtAAw0C7DoWaeSVSgGspVcCma6T2KvlXFqzxorI,2957
32
+ bgesdk/management/commands/api/commands/get_samples.py,sha256=33WJz5GGenpw12EiizkPk7FUqDpp0uZveh80957zEsY,3517
33
33
  bgesdk/management/commands/api/commands/get_taxon_abundance.py,sha256=eVJHJ2bSsxYrwvcoB9Zt7X8pmWR_Iqsf9iYz8AtmmHI,2385
34
- bgesdk/management/commands/api/commands/get_user.py,sha256=8IjsP07VF8YZ8zApVo_XlKetXQfoWYi0hXNNHbUdExg,1573
35
- bgesdk/management/commands/api/commands/get_variants.py,sha256=Xj7FS_YBR--vnHXfzZs6WfibUrfH7yJxXKTQXygUPsM,1944
36
- bgesdk/management/commands/api/commands/task.py,sha256=daQlTBgFFwOqBabGGZHU9DP1vS_Qer9Owr-bKy9cLaU,1696
37
- bgesdk/management/commands/api/commands/upload.py,sha256=d2Ql4YVIxdns3Vj4j_Z_T3NmFckY1qJ5YK2RDHzRHko,3405
38
- bgesdk/management/commands/api/commands/upload_dir.py,sha256=24LmavrhTGD_vBH0d04WM6jJIXv7hjkTZFlwwszJVTg,3802
34
+ bgesdk/management/commands/api/commands/get_user.py,sha256=nUHS3BrecndpG-4IsnoaTXT6aHV_ljm8ZViATNWKyOA,1575
35
+ bgesdk/management/commands/api/commands/get_variants.py,sha256=Po4XfbBlkD5Hgr1ipBNTZRfsAYnxHzID2xac2ITc7pg,1946
36
+ bgesdk/management/commands/api/commands/task.py,sha256=aifstKu8w3GBplaKenD59HIN8NaUn3ZgWz4K03m2Bjo,1698
37
+ bgesdk/management/commands/api/commands/upload.py,sha256=UPAK5oc-1vdiULXkG0yMQpYg-qJLIyYZDLzf5SQU0eY,3864
38
+ bgesdk/management/commands/api/commands/upload_dir.py,sha256=sIYL4eEJEWxbbFY6EMG7prBBOpGBZnPYnz9UEaRGuMs,4261
39
39
  tests/__init__.py,sha256=v2XA5CqxLpudaDp6lNnK_rYSSII2w4L0Nj9NLnWK9xw,35
40
40
  tests/conftest.py,sha256=TdyokQEP2eHmLvuTmW2N7pTs2WKlJKws4szQmoMkVPQ,3208
41
41
  tests/test_abundance.py,sha256=OV0m0G-YmsWh9jejlu8Pr_IKtuBK5IfmZRPJ5MICwHQ,4013
@@ -47,9 +47,9 @@ tests/test_phenotype.py,sha256=3lntjMRPrYo-xFVi4mzmnyx6cLdzrTB6yxACNC4Cg7s,2264
47
47
  tests/test_samples.py,sha256=qcAf6084KtKZORPxHZkEfRMLAUwEm989BJApcUw9Cng,3341
48
48
  tests/test_user.py,sha256=QNCaIE38suadIHs0SMLM-s3bKUxZ0tjbcZCYBEWTeZ0,417
49
49
  tests/test_variants.py,sha256=rkW0wKDLyEuLpN26PG7bQzEgNwEkJlDRxjad7WDNblA,3056
50
- bge_python_sdk-0.6.0.dist-info/LICENSE,sha256=rX5ltHdvA1K75K8tRHlJyqnLLUgiosIAiakOYqNsx40,1063
51
- bge_python_sdk-0.6.0.dist-info/METADATA,sha256=DgXBFU2b-o5HSaQJSOnEJUjmkOb9efHLH4tA2aUUOlQ,7508
52
- bge_python_sdk-0.6.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
53
- bge_python_sdk-0.6.0.dist-info/entry_points.txt,sha256=Kwg9cPG9uXFJgintikexeiir_eLER0cFnthglnI9-ic,46
54
- bge_python_sdk-0.6.0.dist-info/top_level.txt,sha256=yKxDxOG0LXoztEOTej1WRMYXQdc2BT9es4ju24nGtOM,13
55
- bge_python_sdk-0.6.0.dist-info/RECORD,,
50
+ bge_python_sdk-0.6.2.dist-info/LICENSE,sha256=rX5ltHdvA1K75K8tRHlJyqnLLUgiosIAiakOYqNsx40,1063
51
+ bge_python_sdk-0.6.2.dist-info/METADATA,sha256=1mywXE1IHru8F_FVzumsFyqaajAFtKbQv6YtTOxTKGU,7510
52
+ bge_python_sdk-0.6.2.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
53
+ bge_python_sdk-0.6.2.dist-info/entry_points.txt,sha256=M09ziNXA78fUAvagzThOuXmri8mVRpQLMyG9uLm34P4,45
54
+ bge_python_sdk-0.6.2.dist-info/top_level.txt,sha256=yKxDxOG0LXoztEOTej1WRMYXQdc2BT9es4ju24nGtOM,13
55
+ bge_python_sdk-0.6.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.1)
2
+ Generator: bdist_wheel (0.41.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,3 +1,2 @@
1
1
  [console_scripts]
2
2
  bge = bgesdk.__main__:main
3
-
bgesdk/client.py CHANGED
@@ -633,7 +633,7 @@ class API(object):
633
633
  result['result'] = [models.Model(item) for item in result['result']]
634
634
  return result
635
635
 
636
- def get_upload_token(self, **kwargs):
636
+ def get_upload_token(self, region_id=None, internal=False, **kwargs):
637
637
  """获取文件上传授权
638
638
 
639
639
  获取的授权仅包括当前目录(不含子目录)下的文件读、写权限;
@@ -644,15 +644,21 @@ class API(object):
644
644
  timeout = self.timeout
645
645
  verbose = self.verbose
646
646
  max_retries = self.max_retries
647
+ data = {}
648
+ data.update(kwargs)
649
+ data.update({
650
+ 'region_id': region_id,
651
+ 'internal': internal,
652
+ })
647
653
  request = HTTPRequest(
648
654
  self.endpoint, max_retries=max_retries, verbose=verbose)
649
655
  request.set_authorization(self.token_type, self.access_token)
650
- result = request.post('/sts/token', data=kwargs, timeout=timeout)
656
+ result = request.post('/sts/token', data=data, timeout=timeout)
651
657
  return models.Model(result)
652
658
 
653
659
  def upload(self, filename, file_or_string, part_size=None,
654
660
  multipart_threshold=None, multipart_num_threads=None,
655
- cmk_id=None):
661
+ cmk_id=None, region_id=None, internal=False):
656
662
  """上传文件
657
663
 
658
664
  Args:
@@ -663,11 +669,16 @@ class API(object):
663
669
  multipart_num_threads: 分片上传缺省线程数, 默认 4;
664
670
  cmk_id (str): 阿里云 KMS 服务用户主密钥 ID,加密上传时提供 CMK ID 即可;
665
671
  提供 cmk_id 后不支持分片上传;
672
+ region_id(str): 阿里云 OSS 区域编号,默认 oss-cn-shenzhen;
673
+ internal(bool): 是否使用内部 VPN 域名,默认 False;
666
674
 
667
675
  Returns:
668
676
  object_name: 文件的 OSS 对象名;
669
677
  """
670
- token = self.get_upload_token()
678
+ token = self.get_upload_token(
679
+ region_id=region_id,
680
+ internal=internal
681
+ )
671
682
  return self._upload(
672
683
  token,
673
684
  filename,
@@ -680,7 +691,7 @@ class API(object):
680
691
 
681
692
  def batch_upload(self, files, part_size=None,
682
693
  multipart_threshold=None, multipart_num_threads=None,
683
- cmk_id=None):
694
+ cmk_id=None, region_id=None, internal=False):
684
695
  """批量上传文件
685
696
 
686
697
  Args:
@@ -689,6 +700,8 @@ class API(object):
689
700
  multipart_threshold(num): 上传数据大于或等于该值时分片上传, 默认 100M;
690
701
  multipart_num_threads: 分片上传缺省线程数, 默认 4;
691
702
  cmk_id (str): 阿里云 KMS 服务用户主密钥 ID,加密上传时提供 CMK ID 即可;
703
+ region_id(str): 阿里云 OSS 区域编号,默认 oss-cn-shenzhen;
704
+ internal(bool): 是否使用内部 VPN 域名,默认 False;
692
705
 
693
706
  Returns:
694
707
  object_name: 文件的 OSS 对象名;
@@ -698,7 +711,10 @@ class API(object):
698
711
  object_names = []
699
712
  if isinstance(files, (list, tuple)):
700
713
  files = [files]
701
- token = self.get_upload_token()
714
+ token = self.get_upload_token(
715
+ region_id=region_id,
716
+ internal=internal
717
+ )
702
718
  for file_obj in files:
703
719
  if not isinstance(file_obj, FileItem):
704
720
  continue
@@ -721,7 +737,7 @@ class API(object):
721
737
 
722
738
  def upload_dir(self, dirpath, part_size=None,
723
739
  multipart_threshold=None, multipart_num_threads=None,
724
- cmk_id=None):
740
+ cmk_id=None, region_id=None, internal=False):
725
741
  """上传目录下的文件(不递归上传子文件夹中文件)
726
742
 
727
743
  仅上传目录中的文件,软链接、符号链接、文件夹均不会上传至平台。
@@ -736,7 +752,10 @@ class API(object):
736
752
  Returns:
737
753
  object_names: 上传的文件 OSS 对象名列表;
738
754
  """
739
- token = self.get_upload_token()
755
+ token = self.get_upload_token(
756
+ region_id=region_id,
757
+ internal=internal
758
+ )
740
759
  object_names = []
741
760
  for filename in os.listdir(dirpath):
742
761
  filepath = join(dirpath, filename)
@@ -871,18 +890,30 @@ class API(object):
871
890
  timeout = self.timeout
872
891
  try:
873
892
  with requests.get(url, stream=True, timeout=timeout) as r:
874
- total = int(r.headers['content-length'])
875
- for chunk in r.iter_content(chunk_size):
876
- size += len(chunk)
877
- eq_size = int(size * prog_size / total)
878
- equal_s = '=' * eq_size
879
- blank_s = ' ' * (prog_size - eq_size)
880
- progress = '>'.join((equal_s, blank_s))
881
- percent = '%.2f%%' % float(size / total * 100)
882
- sys.stdout.write(
883
- '\r\t%s [%s]' % (percent.rjust(7), progress)
884
- )
885
- fp.write(chunk)
893
+ total = r.headers.get('content-length')
894
+ if total is not None:
895
+ total = int(total)
896
+ for chunk in r.iter_content(chunk_size):
897
+ size += len(chunk)
898
+ eq_size = int(size * prog_size / total)
899
+ equal_s = '=' * eq_size
900
+ blank_s = ' ' * (prog_size - eq_size)
901
+ progress = '>'.join((equal_s, blank_s))
902
+ percent = '%.2f%%' % float(size / total * 100)
903
+ sys.stdout.write(
904
+ '\r\t%s [%s]' % (percent.rjust(7), progress)
905
+ )
906
+ sys.stdout.flush()
907
+ fp.write(chunk)
908
+ else:
909
+ for chunk in r.iter_content(chunk_size):
910
+ size += len(chunk)
911
+ sys.stdout.write(
912
+ '\r\t已下载文件:%s' % human_byte(size).ljust(7)
913
+ )
914
+ sys.stdout.flush()
915
+ fp.write(chunk)
916
+ sys.stdout.write('\n')
886
917
  flush_func = getattr(fp, 'flush', None)
887
918
  if flush_func:
888
919
  flush_func()
@@ -21,7 +21,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
21
21
  class Command(BaseCommand):
22
22
 
23
23
  order = 10
24
- help='聚合组学数据(目前仅支持聚合数据流中符合平台设定 JSONPath 规则的数值型数据)。'
24
+ help = '聚合组学数据(目前仅支持聚合数据流中符合平台设定 JSONPath 规则的数值型数据)。'
25
25
 
26
26
  def add_arguments(self, parser):
27
27
  parser.add_argument(
@@ -22,7 +22,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
22
22
  class Command(BaseCommand):
23
23
 
24
24
  order = 13
25
- help='下载文件。'
25
+ help = '下载文件。'
26
26
 
27
27
  def add_arguments(self, parser):
28
28
  parser.add_argument(
@@ -21,7 +21,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
21
21
  class Command(BaseCommand):
22
22
 
23
23
  order = 7
24
- help='请求数据项。'
24
+ help = '请求数据项。'
25
25
 
26
26
  def add_arguments(self, parser):
27
27
  parser.add_argument(
@@ -21,7 +21,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
21
21
  class Command(BaseCommand):
22
22
 
23
23
  order = 9
24
- help='获取套件外部编号对应表。'
24
+ help = '获取套件外部编号对应表。'
25
25
 
26
26
  def add_arguments(self, parser):
27
27
  parser.add_argument(
@@ -21,7 +21,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
21
21
  class Command(BaseCommand):
22
22
 
23
23
  order = 8
24
- help='请求数据流。'
24
+ help = '请求数据流。'
25
25
 
26
26
  def add_arguments(self, parser):
27
27
  parser.add_argument(
@@ -29,7 +29,7 @@ NOT_PARAM_FIELDS = (
29
29
  class Command(BaseCommand):
30
30
 
31
31
  order = 2
32
- help='获取样品信息。'
32
+ help = '获取样品信息。'
33
33
 
34
34
  def add_arguments(self, parser):
35
35
  parser.add_argument(
@@ -69,7 +69,7 @@ class Command(BaseCommand):
69
69
  '--statuses',
70
70
  type=str,
71
71
  help='数据状态,详情见 BGE 开放平台文档 https://api.bge.genomics.cn/doc/#/ot'
72
- 'hers/appendix?id=样品状态编码表'
72
+ 'hers/appendix?id=样品状态编码表'
73
73
  )
74
74
  parser.add_argument(
75
75
  '--require_files',
@@ -21,7 +21,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
21
21
  class Command(BaseCommand):
22
22
 
23
23
  order = 1
24
- help='获取用户信息。'
24
+ help = '获取用户信息。'
25
25
 
26
26
  def add_arguments(self, parser):
27
27
  parser.add_argument(
@@ -21,7 +21,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
21
21
  class Command(BaseCommand):
22
22
 
23
23
  order = 3
24
- help='获取变异位点数据。'
24
+ help = '获取变异位点数据。'
25
25
 
26
26
  def add_arguments(self, parser):
27
27
  parser.add_argument(
@@ -21,7 +21,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
21
21
  class Command(BaseCommand):
22
22
 
23
23
  order = 14
24
- help='获取 BGE 私有平台任务结果。'
24
+ help = '获取 BGE 私有平台任务结果。'
25
25
 
26
26
  def add_arguments(self, parser):
27
27
  parser.add_argument(
@@ -22,7 +22,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
22
22
  class Command(BaseCommand):
23
23
 
24
24
  order = 11
25
- help='上传文件。'
25
+ help = '上传文件。'
26
26
 
27
27
  def add_arguments(self, parser):
28
28
  parser.add_argument(
@@ -57,6 +57,16 @@ class Command(BaseCommand):
57
57
  '--cmk_id',
58
58
  help='阿里云 KMS 服务密钥 ID, 提供时代表使用加密方式上传文件。'
59
59
  )
60
+ parser.add_argument(
61
+ '-r',
62
+ '--region_id',
63
+ help='阿里云 OSS 区域编号,默认 oss-cn-shenzhen。'
64
+ )
65
+ parser.add_argument(
66
+ '--internal',
67
+ action="store_true",
68
+ help='是否使用内部 VPC 域名。'
69
+ )
60
70
  parser.add_argument(
61
71
  '-t',
62
72
  '--access_token',
@@ -82,6 +92,8 @@ class Command(BaseCommand):
82
92
  cmk_id = args.cmk_id
83
93
  part_size = args.part_size
84
94
  multipart_threshold = args.multipart_threshold
95
+ region_id = args.region_id
96
+ internal = args.internal
85
97
  if not filename:
86
98
  filename = posixpath.split(filepath)[1]
87
99
  message = '正在上传文件 {}'.format(filepath)
@@ -93,7 +105,9 @@ class Command(BaseCommand):
93
105
  part_size=part_size * 1024 * 1024,
94
106
  multipart_threshold=multipart_threshold * 1024 * 1024,
95
107
  multipart_num_threads=args.multipart_num_threads,
96
- cmk_id=cmk_id
108
+ cmk_id=cmk_id,
109
+ region_id=region_id,
110
+ internal=internal,
97
111
  )
98
112
  except APIError as e:
99
113
  output('[red]请求失败:[/red]')
@@ -26,7 +26,7 @@ DEFAULT_TOKEN_SECTION = constants.DEFAULT_TOKEN_SECTION
26
26
  class Command(BaseCommand):
27
27
 
28
28
  order = 12
29
- help='上传目录下文件(不递归上传子目录中文件)。'
29
+ help = '上传目录下文件(不递归上传子目录中文件)。'
30
30
 
31
31
  def add_arguments(self, parser):
32
32
  parser.add_argument(
@@ -56,6 +56,16 @@ class Command(BaseCommand):
56
56
  '--cmk_id',
57
57
  help='阿里云 KMS 服务密钥 ID,提供时代表使用加密方式上传文件。'
58
58
  )
59
+ parser.add_argument(
60
+ '-r',
61
+ '--region_id',
62
+ help='阿里云 OSS 区域编号,默认 oss-cn-shenzhen。'
63
+ )
64
+ parser.add_argument(
65
+ '--internal',
66
+ action="store_true",
67
+ help='是否使用内部 VPC 域名。'
68
+ )
59
69
  parser.add_argument(
60
70
  '-t',
61
71
  '--access_token',
@@ -77,6 +87,8 @@ class Command(BaseCommand):
77
87
  cmk_id = args.cmk_id
78
88
  part_size = args.part_size
79
89
  multipart_threshold = args.multipart_threshold
90
+ region_id = args.region_id
91
+ internal = args.internal
80
92
  files = []
81
93
  for filename in os.listdir(dirpath):
82
94
  filepath = join(dirpath, filename)
@@ -93,7 +105,9 @@ class Command(BaseCommand):
93
105
  part_size=part_size * 1024 * 1024,
94
106
  multipart_threshold=multipart_threshold * 1024 * 1024,
95
107
  multipart_num_threads=args.multipart_num_threads,
96
- cmk_id=cmk_id
108
+ cmk_id=cmk_id,
109
+ region_id=region_id,
110
+ internal=internal,
97
111
  )
98
112
  except APIError as e:
99
113
  output('[red]请求失败:[/red]')
bgesdk/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  #-*- coding: utf-8 -*-
2
2
 
3
- __version__ = '0.6.0'
3
+ __version__ = '0.6.2'