Skip to content

Commit 4c7579d

Browse files
author
mose-x.zm
committed
1. wan2.2 t2i support sync call
2. fix use aiohttp with ssl err 3. image synthesis support async func 4. video synthesis support async func
1 parent f5c4dda commit 4c7579d

File tree

2 files changed

+23
-50
lines changed

2 files changed

+23
-50
lines changed

dashscope/api_entities/api_request_factory.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -127,31 +127,4 @@ def _build_api_request(model: str,
127127
request_data.add_resources(resources)
128128
request_data.add_parameters(**kwargs)
129129
request.data = request_data
130-
return request
131-
132-
def _build_simple_http_request(http_url: str,
133-
api_key: str = None,
134-
**kwargs):
135-
http_method = kwargs.pop('http_method', HTTPMethod.POST)
136-
request = HttpRequest(url=http_url,
137-
api_key=api_key,
138-
http_method=http_method)
139-
headers = kwargs.pop('headers', None)
140-
if headers is not None:
141-
request.add_headers(headers=headers)
142-
form = kwargs.pop('form', None)
143-
model = kwargs.pop('model', None)
144-
task_group = kwargs.pop('task_group', None)
145-
task = kwargs.pop('task', None)
146-
function = kwargs.pop('function', None)
147-
inputs = kwargs.pop('input', None)
148-
is_binary_input = kwargs.pop('is_binary_input', None)
149-
api_protocol = kwargs.pop('api_protocol', None)
150-
request_data = ApiRequestData(model, task_group, task,
151-
function, inputs, form,
152-
is_binary_input, api_protocol)
153-
resources = kwargs.pop('resources', None)
154-
request_data.add_resources(resources)
155-
request_data.add_parameters(**kwargs)
156-
request.data = request_data
157130
return request

dashscope/client/base_api.py

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@
44
import time
55
from http import HTTPStatus
66
from typing import Any, Dict, Iterator, List, Union
7-
from urllib.parse import urlencode
87

98
import requests
109

1110
import dashscope
12-
from dashscope.api_entities.api_request_factory import (_build_api_request,
13-
_build_simple_http_request)
11+
from dashscope.api_entities.api_request_factory import _build_api_request
1412
from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
1513
from dashscope.common.api_key import get_default_api_key
1614
from dashscope.common.constants import (DEFAULT_REQUEST_TIMEOUT_SECONDS,
@@ -32,11 +30,14 @@ async def _get(cls,
3230
workspace: str = None,
3331
**kwargs) -> DashScopeAPIResponse:
3432
base_url = kwargs.pop('base_address', None)
35-
status_url = _normalization_url(base_url, 'tasks', task_id)
33+
url = _normalization_url(base_url, 'tasks', task_id)
3634
kwargs = cls._handle_kwargs(api_key, workspace, **kwargs)
37-
request = _build_simple_http_request(http_url=status_url,
38-
api_key=api_key,
39-
**kwargs)
35+
kwargs["base_address"] = url
36+
if not api_key:
37+
api_key = get_default_api_key()
38+
request = _build_api_request("", "", "",
39+
"", "", api_key=api_key,
40+
is_service=False, **kwargs)
4041
return await cls._handle_request(request)
4142

4243
@classmethod
@@ -65,8 +66,7 @@ async def _handle_request(cls, request):
6566
# 如果 aio_call 返回的是异步生成器,则需要从中获取响应
6667
response = await request.aio_call()
6768
# 处理异步生成器的情况
68-
if (isinstance(response, collections.abc.AsyncGenerator)
69-
or hasattr(response, '__aiter__')):
69+
if isinstance(response, collections.abc.AsyncGenerator):
7070
result = None
7171
async for item in response:
7272
result = item
@@ -226,9 +226,12 @@ async def cancel(
226226
base_url = kwargs.pop('base_address', None)
227227
url = _normalization_url(base_url, 'tasks', task_id, 'cancel')
228228
kwargs = cls._handle_kwargs(api_key, workspace, **kwargs)
229-
request = _build_simple_http_request(http_url=url,
230-
api_key=api_key,
231-
**kwargs)
229+
kwargs["base_address"] = url
230+
if not api_key:
231+
api_key = get_default_api_key()
232+
request = _build_api_request("", "", "",
233+
"", "",api_key=api_key,
234+
is_service=False, **kwargs)
232235
return await cls._handle_request(request)
233236

234237
@classmethod
@@ -281,17 +284,14 @@ async def list(cls,
281284
params['region'] = region
282285
if status is not None:
283286
params['status'] = status
284-
if params:
285-
query_string = urlencode(params)
286-
url = f"{url}?{query_string}"
287-
kwargs['http_method'] = HTTPMethod.GET
288-
request = _build_simple_http_request(http_url=url,
289-
api_key=api_key,
290-
headers={
291-
**_workspace_header(workspace),
292-
**default_headers(api_key),
293-
},
294-
**kwargs)
287+
kwargs = cls._handle_kwargs(api_key, workspace, **kwargs)
288+
kwargs["base_address"] = url
289+
if not api_key:
290+
api_key = get_default_api_key()
291+
request = _build_api_request(model_name, "", "",
292+
"", "", api_key=api_key,
293+
is_service=False, extra_url_parameters=params,
294+
**kwargs)
295295
return await cls._handle_request(request)
296296

297297
@classmethod

0 commit comments

Comments
 (0)