Skip to content

Commit 9ebaad6

Browse files
authored
Merge pull request #44 from kevinlin09/feat/cli_support_base_url
feat(cli): support base_url input
2 parents fc7fdce + c5868cf commit 9ebaad6

File tree

2 files changed

+55
-15
lines changed

2 files changed

+55
-15
lines changed

dashscope/cli.py

Lines changed: 54 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/usr/bin/env python
22
import argparse
3+
import json
34
import sys
45
import time
56
import os
@@ -216,7 +217,8 @@ def upload(cls, args):
216217

217218
oss_url = OssUtils.upload(model=args.model,
218219
file_path=file_path,
219-
api_key=api_key)
220+
api_key=api_key,
221+
base_address=args.base_url)
220222

221223
if not oss_url:
222224
print('Failed to upload file: %s' % file_path)
@@ -229,7 +231,8 @@ class Files:
229231
def upload(cls, args):
230232
rsp = dashscope.Files.upload(file_path=args.file,
231233
purpose=args.purpose,
232-
description=args.description)
234+
description=args.description,
235+
base_address=args.base_url)
233236
print(rsp)
234237
if rsp.status_code == HTTPStatus.OK:
235238
print('Upload success, file id: %s' %
@@ -239,32 +242,31 @@ def upload(cls, args):
239242

240243
@classmethod
241244
def get(cls, args):
242-
rsp = dashscope.Files.get(file_id=args.id)
245+
rsp = dashscope.Files.get(file_id=args.id, base_address=args.base_url)
243246
if rsp.status_code == HTTPStatus.OK:
244-
print('file_id: %s, name: %s, description: %s' %
245-
(rsp.output['file_id'], rsp.output['name'],
246-
rsp.output['description']))
247+
if rsp.output:
248+
print('file info:\n%s' % json.dumps(rsp.output, ensure_ascii=False, indent=4))
249+
else:
250+
print('There is no uploaded file.')
247251
else:
248252
print_failed_message(rsp)
249253

250254
@classmethod
251255
def list(cls, args):
252256
rsp = dashscope.Files.list(page=args.start_page,
253-
page_size=args.page_size)
257+
page_size=args.page_size,
258+
base_address=args.base_url)
254259
if rsp.status_code == HTTPStatus.OK:
255-
if rsp.output is not None:
256-
for f in rsp.output['files']:
257-
print('file_id: %s, name: %s, description: %s, time: %s' %
258-
(f['file_id'], f['name'], f['description'],
259-
f['gmt_create']))
260+
if rsp.output:
261+
print('file list info:\n%s' % json.dumps(rsp.output, ensure_ascii=False, indent=4))
260262
else:
261-
print('There is no uploaded file.')
263+
print('There is no uploaded files.')
262264
else:
263265
print_failed_message(rsp)
264266

265267
@classmethod
266268
def delete(cls, args):
267-
rsp = dashscope.Files.delete(args.id)
269+
rsp = dashscope.Files.delete(args.id, base_address=args.base_url)
268270
if rsp.status_code == HTTPStatus.OK:
269271
print('Delete success')
270272
else:
@@ -529,6 +531,13 @@ def main():
529531
required=False,
530532
help='The dashscope api key',
531533
)
534+
oss_upload.add_argument(
535+
'-u',
536+
'--base_url',
537+
type=str,
538+
help='The base url.',
539+
required=False,
540+
)
532541
oss_upload.set_defaults(func=Oss.upload)
533542

534543
file_upload = sub_parsers.add_parser('files.upload')
@@ -555,21 +564,45 @@ def main():
555564
help='The file description.',
556565
required=False,
557566
)
567+
file_upload.add_argument(
568+
'-u',
569+
'--base_url',
570+
type=str,
571+
help='The base url.',
572+
required=False,
573+
)
558574
file_upload.set_defaults(func=Files.upload)
575+
559576
file_get = sub_parsers.add_parser('files.get')
560577
file_get.add_argument('-i',
561578
'--id',
562579
type=str,
563580
required=True,
564581
help='The file ID')
582+
file_get.add_argument(
583+
'-u',
584+
'--base_url',
585+
type=str,
586+
help='The base url.',
587+
required=False,
588+
)
565589
file_get.set_defaults(func=Files.get)
590+
566591
file_delete = sub_parsers.add_parser('files.delete')
567592
file_delete.add_argument('-i',
568593
'--id',
569594
type=str,
570595
required=True,
571596
help='The files ID')
597+
file_delete.add_argument(
598+
'-u',
599+
'--base_url',
600+
type=str,
601+
help='The base url.',
602+
required=False,
603+
)
572604
file_delete.set_defaults(func=Files.delete)
605+
573606
file_list = sub_parsers.add_parser('files.list')
574607
file_list.add_argument('-s',
575608
'--start_page',
@@ -581,6 +614,13 @@ def main():
581614
type=int,
582615
default=10,
583616
help='The page size, default 10')
617+
file_list.add_argument(
618+
'-u',
619+
'--base_url',
620+
type=str,
621+
help='The base url.',
622+
required=False,
623+
)
584624
file_list.set_defaults(func=Files.list)
585625

586626
deployments_call = sub_parsers.add_parser('deployments.call')

dashscope/utils/oss_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def upload(cls,
4747
Returns:
4848
DashScopeAPIResponse: The upload information
4949
"""
50-
upload_info = cls.get_upload_certificate(model=model, api_key=api_key)
50+
upload_info = cls.get_upload_certificate(model=model, api_key=api_key, **kwargs)
5151
if upload_info.status_code != HTTPStatus.OK:
5252
raise UploadFileException(
5353
'Get upload certificate failed, code: %s, message: %s' %

0 commit comments

Comments
 (0)