@darabonba/python-generator 1.2.19 → 2.0.1
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.
- package/ChangeLog.md +0 -158
- package/lib/builtin.js +818 -0
- package/lib/generator.js +2708 -0
- package/lib/helper.js +422 -0
- package/package.json +6 -5
- package/tests/expected/alias/setup.py +79 -0
- package/tests/expected/alias/tea_python_tests/__init__.py +1 -0
- package/tests/expected/alias/tea_python_tests/client.py +35 -0
- package/tests/expected/annotation/tea_python_tests/__init__.py +1 -0
- package/tests/expected/annotation/tea_python_tests/client.py +93 -0
- package/tests/expected/annotation/tea_python_tests/models.py +37 -0
- package/tests/expected/api/tea_python_tests/__init__.py +1 -0
- package/tests/expected/api/tea_python_tests/client.py +106 -0
- package/tests/expected/builtin/tea_python_tests/client.py +685 -0
- package/tests/expected/comment/tea_python_tests/__init__.py +1 -0
- package/tests/expected/comment/tea_python_tests/client.py +288 -0
- package/tests/expected/comment/tea_python_tests/models.py +195 -0
- package/tests/expected/complex/tea_python_tests/__init__.py +1 -0
- package/tests/expected/complex/tea_python_tests/client.py +1169 -0
- package/tests/expected/complex/tea_python_tests/exceptions.py +39 -0
- package/tests/expected/complex/tea_python_tests/models.py +570 -0
- package/tests/expected/const/tea_python_tests/__init__.py +1 -0
- package/tests/expected/const/tea_python_tests/client.py +14 -0
- package/{src/langs/python/files/setup.py.tmpl → tests/expected/empty/setup.py} +11 -11
- package/tests/expected/empty/tea_python_tests/__init__.py +1 -0
- package/tests/expected/empty/tea_python_tests/client.py +10 -0
- package/tests/expected/exec/tea_python_tests/__init__.py +1 -0
- package/tests/expected/exec/tea_python_tests/exec_client.py +21 -0
- package/tests/expected/function/tea_python_tests/__init__.py +1 -0
- package/tests/expected/function/tea_python_tests/client.py +64 -0
- package/tests/expected/import/setup.py +78 -0
- package/tests/expected/import/tea_python_tests/__init__.py +1 -0
- package/tests/expected/import/tea_python_tests/client.py +29 -0
- package/tests/expected/map/tea_python_tests/__init__.py +1 -0
- package/tests/expected/map/tea_python_tests/client.py +39 -0
- package/tests/expected/model/tea_python_tests/__init__.py +1 -0
- package/tests/expected/model/tea_python_tests/client.py +10 -0
- package/tests/expected/model/tea_python_tests/exceptions.py +28 -0
- package/tests/expected/model/tea_python_tests/models.py +780 -0
- package/tests/expected/multi/tea_python_tests/api.py +95 -0
- package/tests/expected/multi/tea_python_tests/client.py +40 -0
- package/tests/expected/multi/tea_python_tests/lib/util.py +19 -0
- package/tests/expected/multi/tea_python_tests/model/user.py +26 -0
- package/tests/expected/multi/tea_python_tests/model/user_exceptions.py +83 -0
- package/tests/expected/multi/tea_python_tests/model/user_models.py +145 -0
- package/tests/expected/statements/tea_python_tests/__init__.py +1 -0
- package/tests/expected/statements/tea_python_tests/client.py +86 -0
- package/tests/expected/super/tea_python_tests/__init__.py +1 -0
- package/tests/expected/super/tea_python_tests/client.py +16 -0
- package/tests/expected/typedef/setup.py +77 -0
- package/tests/expected/typedef/tea_python_tests/__init__.py +1 -0
- package/tests/expected/typedef/tea_python_tests/client.py +74 -0
- package/tests/expected/typedef/tea_python_tests/models.py +42 -0
- package/tests/fixtures/alias/Darafile +11 -0
- package/tests/fixtures/alias/libraries/Alias/Darafile +11 -0
- package/tests/fixtures/alias/libraries/Alias-Symbol/Darafile +11 -0
- package/tests/fixtures/builtin/Darafile +6 -0
- package/tests/fixtures/builtin/main.dara +333 -0
- package/tests/fixtures/complex/libraries/import.dara +18 -11
- package/tests/fixtures/complex/main.dara +452 -103
- package/tests/fixtures/import/libraries/Darafile +1 -1
- package/tests/fixtures/import/pack/Darafile +3 -0
- package/tests/fixtures/map/libraries/Darafile +3 -0
- package/tests/fixtures/map/libraries/import.dara +4 -0
- package/tests/fixtures/map/main.dara +17 -2
- package/tests/fixtures/model/.libraries.json +3 -0
- package/tests/fixtures/model/Darafile +5 -2
- package/tests/fixtures/model/libraries/Darafile +20 -0
- package/tests/fixtures/model/libraries/import.dara +27 -0
- package/tests/fixtures/model/main.dara +60 -42
- package/tests/fixtures/multi/.libraries.json +3 -0
- package/tests/fixtures/multi/Darafile +12 -0
- package/tests/fixtures/multi/api.dara +20 -0
- package/tests/fixtures/multi/lib/util.dara +5 -0
- package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/Teafile +68 -0
- package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/main.tea +244 -0
- package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/util.tea +2 -0
- package/tests/fixtures/multi/main.dara +32 -0
- package/tests/fixtures/multi/model/user.dara +35 -0
- package/tests/{python3.tests.js → main.tests.js} +107 -65
- package/tests/output/alias/setup.py +79 -0
- package/tests/output/alias/tea_python_tests/client.py +35 -0
- package/{src/langs/python2/files/setup.py.tmpl → tests/output/annotation/setup.py} +19 -24
- package/tests/output/annotation/tea_python_tests/client.py +93 -0
- package/tests/output/annotation/tea_python_tests/models.py +37 -0
- package/tests/output/api/setup.py +77 -0
- package/tests/output/api/tea_python_tests/client.py +106 -0
- package/tests/output/builtin/setup.py +77 -0
- package/tests/output/builtin/tea_python_tests/client.py +685 -0
- package/tests/output/comment/setup.py +77 -0
- package/tests/output/comment/tea_python_tests/client.py +288 -0
- package/tests/output/comment/tea_python_tests/models.py +195 -0
- package/tests/output/complex/setup.py +77 -0
- package/tests/output/complex/tea_python_tests/client.py +1169 -0
- package/tests/output/complex/tea_python_tests/exceptions.py +39 -0
- package/tests/output/complex/tea_python_tests/models.py +570 -0
- package/tests/output/const/setup.py +77 -0
- package/tests/output/const/tea_python_tests/client.py +14 -0
- package/tests/output/empty/setup.py +77 -0
- package/tests/output/empty/tea_python_tests/client.py +10 -0
- package/tests/output/exec/setup.py +77 -0
- package/tests/output/exec/tea_python_tests/exec_client.py +21 -0
- package/tests/output/function/setup.py +77 -0
- package/tests/output/function/tea_python_tests/client.py +64 -0
- package/tests/output/import/setup.py +78 -0
- package/tests/output/import/tea_python_tests/client.py +29 -0
- package/tests/output/map/setup.py +77 -0
- package/tests/output/map/tea_python_tests/client.py +39 -0
- package/tests/output/model/setup.py +77 -0
- package/tests/output/model/tea_python_tests/client.py +10 -0
- package/tests/output/model/tea_python_tests/exceptions.py +28 -0
- package/tests/output/model/tea_python_tests/models.py +780 -0
- package/tests/output/multi/setup.py +77 -0
- package/tests/output/multi/tea_python_tests/api.py +95 -0
- package/tests/output/multi/tea_python_tests/client.py +40 -0
- package/tests/output/multi/tea_python_tests/lib/util.py +19 -0
- package/tests/output/multi/tea_python_tests/model/user.py +26 -0
- package/tests/output/multi/tea_python_tests/model/user_exceptions.py +83 -0
- package/tests/output/multi/tea_python_tests/model/user_models.py +145 -0
- package/tests/output/statements/setup.py +77 -0
- package/tests/output/statements/tea_python_tests/client.py +86 -0
- package/tests/output/super/setup.py +77 -0
- package/tests/output/super/tea_python_tests/client.py +16 -0
- package/tests/output/typedef/setup.py +78 -0
- package/tests/output/typedef/tea_python_tests/client.py +74 -0
- package/tests/output/typedef/tea_python_tests/models.py +42 -0
- package/src/generator.js +0 -231
- package/src/langs/common/combinator.js +0 -193
- package/src/langs/common/config.js +0 -60
- package/src/langs/common/enum.js +0 -179
- package/src/langs/common/items.js +0 -551
- package/src/langs/common/package_info.js +0 -53
- package/src/langs/python/combinator.js +0 -1898
- package/src/langs/python/config.js +0 -169
- package/src/langs/python/files/.gitignore.tmpl +0 -5
- package/src/langs/python/files/__init__.py.tmpl +0 -1
- package/src/langs/python/package_info.js +0 -78
- package/src/langs/python2/combinator.js +0 -1770
- package/src/langs/python2/config.js +0 -162
- package/src/langs/python2/files/.gitignore.tmpl +0 -5
- package/src/langs/python2/files/__init__.py.tmpl +0 -1
- package/src/langs/python2/package_info.js +0 -78
- package/src/lib/debug.js +0 -55
- package/src/lib/emitter.js +0 -95
- package/src/lib/helper.js +0 -207
- package/src/resolver/base.js +0 -282
- package/src/resolver/client.js +0 -1013
- package/src/resolver/model.js +0 -159
- package/tests/common.tests.js +0 -244
- package/tests/lib.tests.js +0 -269
- package/tests/python2.tests.js +0 -283
- package/tests/resolver.tests.js +0 -434
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# This file is auto-generated, don't edit it. Thanks.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from darabonba.exceptions import DaraException
|
|
5
|
+
from typing import Dict
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Err1Exception(DaraException):
|
|
9
|
+
def __init__(
|
|
10
|
+
self,
|
|
11
|
+
message: str = None,
|
|
12
|
+
code: str = None,
|
|
13
|
+
stack: str = None,
|
|
14
|
+
data: Dict[str, str] = None,
|
|
15
|
+
):
|
|
16
|
+
super().__init__({
|
|
17
|
+
'message': message,
|
|
18
|
+
'code': code,
|
|
19
|
+
'stack': stack,
|
|
20
|
+
})
|
|
21
|
+
self.name = 'Err1Exception'
|
|
22
|
+
self.data = data
|
|
23
|
+
|
|
24
|
+
class Err2Exception(DaraException):
|
|
25
|
+
def __init__(
|
|
26
|
+
self,
|
|
27
|
+
message: str = None,
|
|
28
|
+
code: str = None,
|
|
29
|
+
stack: str = None,
|
|
30
|
+
access_err_message: str = None,
|
|
31
|
+
):
|
|
32
|
+
super().__init__({
|
|
33
|
+
'message': message,
|
|
34
|
+
'code': code,
|
|
35
|
+
'stack': stack,
|
|
36
|
+
})
|
|
37
|
+
self.name = 'Err2Exception'
|
|
38
|
+
self.access_err_message = access_err_message
|
|
39
|
+
|
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# This file is auto-generated, don't edit it. Thanks.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from darabonba.model import DaraModel
|
|
5
|
+
from darabonba.request import DaraRequest
|
|
6
|
+
from darabonba.response import DaraResponse
|
|
7
|
+
from Source import models as source_models
|
|
8
|
+
from Source.source_client import SourceClient
|
|
9
|
+
from tea_python_tests import models as main_models
|
|
10
|
+
from typing import List, Dict, BinaryIO, Any
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ComplexRequestHeader(DaraModel):
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
content: str = None,
|
|
19
|
+
):
|
|
20
|
+
# The ID of the security group to which you want to assign the instance. Instances in the same security group can communicate with each other. The maximum number of instances that a security group can contain depends on the type of the security group. For more information, see the "Security group limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html#SecurityGroupQuota).
|
|
21
|
+
#
|
|
22
|
+
# >Notice: The network type of the new instance must be the same as that of the security group specified by the `SecurityGroupId` parameter. For example, if the specified security group is of the VPC type, the new instance is also of the VPC type and you must specify `VSwitchId`.
|
|
23
|
+
#
|
|
24
|
+
# If you do not use `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template, you must specify SecurityGroupId. Take note of the following items:
|
|
25
|
+
#
|
|
26
|
+
# * You can set `SecurityGroupId` to specify a single security group or set `SecurityGroupIds.N` to specify one or more security groups. However, you cannot specify both `SecurityGroupId` and `SecurityGroupIds.N`.
|
|
27
|
+
# * If `NetworkInterface.N.InstanceType` is set to `Primary`, you cannot specify `SecurityGroupId` or `SecurityGroupIds.N` but can specify `NetworkInterface.N.SecurityGroupId` or `NetworkInterface.N.SecurityGroupIds.N`.
|
|
28
|
+
self.content = content
|
|
29
|
+
|
|
30
|
+
def validate(self):
|
|
31
|
+
self.validate_required(self.content, 'content')
|
|
32
|
+
|
|
33
|
+
def to_map(self):
|
|
34
|
+
_map = super().to_map()
|
|
35
|
+
if _map is not None:
|
|
36
|
+
return _map
|
|
37
|
+
|
|
38
|
+
result = dict()
|
|
39
|
+
if self.content is not None:
|
|
40
|
+
result['Content'] = self.content
|
|
41
|
+
return result
|
|
42
|
+
|
|
43
|
+
def from_map(self, m: dict = None):
|
|
44
|
+
m = m or dict()
|
|
45
|
+
if m.get('Content') is not None:
|
|
46
|
+
self.content = m.get('Content')
|
|
47
|
+
return self
|
|
48
|
+
|
|
49
|
+
class ComplexRequestConfigs(DaraModel):
|
|
50
|
+
def __init__(
|
|
51
|
+
self,
|
|
52
|
+
key: str = None,
|
|
53
|
+
value: List[str] = None,
|
|
54
|
+
extra: Dict[str, str] = None,
|
|
55
|
+
):
|
|
56
|
+
self.key = key
|
|
57
|
+
self.value = value
|
|
58
|
+
self.extra = extra
|
|
59
|
+
|
|
60
|
+
def validate(self):
|
|
61
|
+
self.validate_required(self.key, 'key')
|
|
62
|
+
self.validate_required(self.value, 'value')
|
|
63
|
+
self.validate_required(self.extra, 'extra')
|
|
64
|
+
|
|
65
|
+
def to_map(self):
|
|
66
|
+
_map = super().to_map()
|
|
67
|
+
if _map is not None:
|
|
68
|
+
return _map
|
|
69
|
+
|
|
70
|
+
result = dict()
|
|
71
|
+
if self.key is not None:
|
|
72
|
+
result['key'] = self.key
|
|
73
|
+
if self.value is not None:
|
|
74
|
+
result['value'] = self.value
|
|
75
|
+
if self.extra is not None:
|
|
76
|
+
result['extra'] = self.extra
|
|
77
|
+
return result
|
|
78
|
+
|
|
79
|
+
def from_map(self, m: dict = None):
|
|
80
|
+
m = m or dict()
|
|
81
|
+
if m.get('key') is not None:
|
|
82
|
+
self.key = m.get('key')
|
|
83
|
+
if m.get('value') is not None:
|
|
84
|
+
self.value = m.get('value')
|
|
85
|
+
if m.get('extra') is not None:
|
|
86
|
+
self.extra = m.get('extra')
|
|
87
|
+
return self
|
|
88
|
+
|
|
89
|
+
class ComplexRequestPart(DaraModel):
|
|
90
|
+
def __init__(
|
|
91
|
+
self,
|
|
92
|
+
part_number: str = None,
|
|
93
|
+
):
|
|
94
|
+
# PartNumber
|
|
95
|
+
self.part_number = part_number
|
|
96
|
+
|
|
97
|
+
def validate(self):
|
|
98
|
+
pass
|
|
99
|
+
|
|
100
|
+
def to_map(self):
|
|
101
|
+
_map = super().to_map()
|
|
102
|
+
if _map is not None:
|
|
103
|
+
return _map
|
|
104
|
+
|
|
105
|
+
result = dict()
|
|
106
|
+
if self.part_number is not None:
|
|
107
|
+
result['PartNumber'] = self.part_number
|
|
108
|
+
return result
|
|
109
|
+
|
|
110
|
+
def from_map(self, m: dict = None):
|
|
111
|
+
m = m or dict()
|
|
112
|
+
if m.get('PartNumber') is not None:
|
|
113
|
+
self.part_number = m.get('PartNumber')
|
|
114
|
+
return self
|
|
115
|
+
|
|
116
|
+
class ComplexRequest(DaraModel):
|
|
117
|
+
def __init__(
|
|
118
|
+
self,
|
|
119
|
+
access_key: str = None,
|
|
120
|
+
body: BinaryIO = None,
|
|
121
|
+
strs: List[str] = None,
|
|
122
|
+
map_list: List[Dict[str, Any]] = None,
|
|
123
|
+
header: ComplexRequestHeader = None,
|
|
124
|
+
configs: ComplexRequestConfigs = None,
|
|
125
|
+
num: int = None,
|
|
126
|
+
i_64: int = None,
|
|
127
|
+
f_64: float = None,
|
|
128
|
+
b: bool = None,
|
|
129
|
+
f_32: float = None,
|
|
130
|
+
f_64list: List[float] = None,
|
|
131
|
+
float_list: List[float] = None,
|
|
132
|
+
booleant_list: List[bool] = None,
|
|
133
|
+
i_32: int = None,
|
|
134
|
+
string_list: List[str] = None,
|
|
135
|
+
int_list: List[int] = None,
|
|
136
|
+
int_32list: List[int] = None,
|
|
137
|
+
int_16list: List[int] = None,
|
|
138
|
+
int_64list: List[int] = None,
|
|
139
|
+
long_list: List[int] = None,
|
|
140
|
+
uint_64list: List[int] = None,
|
|
141
|
+
uint_32list: List[int] = None,
|
|
142
|
+
uint_16list: List[int] = None,
|
|
143
|
+
u_64: int = None,
|
|
144
|
+
u_32: int = None,
|
|
145
|
+
u_16: int = None,
|
|
146
|
+
obj: dict = None,
|
|
147
|
+
any: Any = None,
|
|
148
|
+
byt: bytes = None,
|
|
149
|
+
req: DaraRequest = None,
|
|
150
|
+
resp: DaraResponse = None,
|
|
151
|
+
map: Dict[str, str] = None,
|
|
152
|
+
num_map: Dict[str, int] = None,
|
|
153
|
+
model_map: Dict[str, source_models.Request] = None,
|
|
154
|
+
request: source_models.Request = None,
|
|
155
|
+
client: SourceClient = None,
|
|
156
|
+
instance: source_models.RequestInstance = None,
|
|
157
|
+
from_: str = None,
|
|
158
|
+
self_: str = None,
|
|
159
|
+
print: str = None,
|
|
160
|
+
exec: str = None,
|
|
161
|
+
str: str = None,
|
|
162
|
+
part: List[ComplexRequestPart] = None,
|
|
163
|
+
):
|
|
164
|
+
self.access_key = access_key
|
|
165
|
+
# Body
|
|
166
|
+
self.body = body
|
|
167
|
+
# Strs
|
|
168
|
+
self.strs = strs
|
|
169
|
+
# mapList
|
|
170
|
+
self.map_list = map_list
|
|
171
|
+
# header
|
|
172
|
+
self.header = header
|
|
173
|
+
self.configs = configs
|
|
174
|
+
self.num = num
|
|
175
|
+
self.i_64 = i_64
|
|
176
|
+
self.f_64 = f_64
|
|
177
|
+
self.b = b
|
|
178
|
+
self.f_32 = f_32
|
|
179
|
+
self.f_64list = f_64list
|
|
180
|
+
self.float_list = float_list
|
|
181
|
+
self.booleant_list = booleant_list
|
|
182
|
+
self.i_32 = i_32
|
|
183
|
+
self.string_list = string_list
|
|
184
|
+
self.int_list = int_list
|
|
185
|
+
self.int_32list = int_32list
|
|
186
|
+
self.int_16list = int_16list
|
|
187
|
+
self.int_64list = int_64list
|
|
188
|
+
self.long_list = long_list
|
|
189
|
+
self.uint_64list = uint_64list
|
|
190
|
+
self.uint_32list = uint_32list
|
|
191
|
+
self.uint_16list = uint_16list
|
|
192
|
+
self.u_64 = u_64
|
|
193
|
+
self.u_32 = u_32
|
|
194
|
+
self.u_16 = u_16
|
|
195
|
+
self.obj = obj
|
|
196
|
+
self.any = any
|
|
197
|
+
self.byt = byt
|
|
198
|
+
self.req = req
|
|
199
|
+
self.resp = resp
|
|
200
|
+
self.map = map
|
|
201
|
+
self.num_map = num_map
|
|
202
|
+
self.model_map = model_map
|
|
203
|
+
self.request = request
|
|
204
|
+
self.client = client
|
|
205
|
+
self.instance = instance
|
|
206
|
+
# test keywords
|
|
207
|
+
self.from_ = from_
|
|
208
|
+
# test keywords
|
|
209
|
+
self.self_ = self_
|
|
210
|
+
# test keywords
|
|
211
|
+
self.print = print
|
|
212
|
+
# test keywords
|
|
213
|
+
self.exec = exec
|
|
214
|
+
# test keywords
|
|
215
|
+
self.str = str
|
|
216
|
+
# Part
|
|
217
|
+
self.part = part
|
|
218
|
+
|
|
219
|
+
def validate(self):
|
|
220
|
+
self.validate_required(self.access_key, 'access_key')
|
|
221
|
+
self.validate_required(self.body, 'body')
|
|
222
|
+
self.validate_required(self.strs, 'strs')
|
|
223
|
+
self.validate_required(self.map_list, 'map_list')
|
|
224
|
+
self.validate_required(self.header, 'header')
|
|
225
|
+
if self.header:
|
|
226
|
+
self.header.validate()
|
|
227
|
+
self.validate_required(self.configs, 'configs')
|
|
228
|
+
if self.configs:
|
|
229
|
+
self.configs.validate()
|
|
230
|
+
self.validate_required(self.num, 'num')
|
|
231
|
+
self.validate_required(self.i_64, 'i_64')
|
|
232
|
+
self.validate_required(self.f_64, 'f_64')
|
|
233
|
+
self.validate_required(self.b, 'b')
|
|
234
|
+
self.validate_required(self.f_32, 'f_32')
|
|
235
|
+
self.validate_required(self.f_64list, 'f_64list')
|
|
236
|
+
if self.f_64list:
|
|
237
|
+
for k in self.f_64list:
|
|
238
|
+
if k:
|
|
239
|
+
k.validate()
|
|
240
|
+
self.validate_required(self.float_list, 'float_list')
|
|
241
|
+
if self.float_list:
|
|
242
|
+
for k in self.float_list:
|
|
243
|
+
if k:
|
|
244
|
+
k.validate()
|
|
245
|
+
self.validate_required(self.booleant_list, 'booleant_list')
|
|
246
|
+
if self.booleant_list:
|
|
247
|
+
for k in self.booleant_list:
|
|
248
|
+
if k:
|
|
249
|
+
k.validate()
|
|
250
|
+
self.validate_required(self.i_32, 'i_32')
|
|
251
|
+
self.validate_required(self.string_list, 'string_list')
|
|
252
|
+
self.validate_required(self.int_list, 'int_list')
|
|
253
|
+
if self.int_list:
|
|
254
|
+
for k in self.int_list:
|
|
255
|
+
if k:
|
|
256
|
+
k.validate()
|
|
257
|
+
self.validate_required(self.int_32list, 'int_32list')
|
|
258
|
+
if self.int_32list:
|
|
259
|
+
for k in self.int_32list:
|
|
260
|
+
if k:
|
|
261
|
+
k.validate()
|
|
262
|
+
self.validate_required(self.int_16list, 'int_16list')
|
|
263
|
+
if self.int_16list:
|
|
264
|
+
for k in self.int_16list:
|
|
265
|
+
if k:
|
|
266
|
+
k.validate()
|
|
267
|
+
self.validate_required(self.int_64list, 'int_64list')
|
|
268
|
+
if self.int_64list:
|
|
269
|
+
for k in self.int_64list:
|
|
270
|
+
if k:
|
|
271
|
+
k.validate()
|
|
272
|
+
self.validate_required(self.long_list, 'long_list')
|
|
273
|
+
if self.long_list:
|
|
274
|
+
for k in self.long_list:
|
|
275
|
+
if k:
|
|
276
|
+
k.validate()
|
|
277
|
+
self.validate_required(self.uint_64list, 'uint_64list')
|
|
278
|
+
if self.uint_64list:
|
|
279
|
+
for k in self.uint_64list:
|
|
280
|
+
if k:
|
|
281
|
+
k.validate()
|
|
282
|
+
self.validate_required(self.uint_32list, 'uint_32list')
|
|
283
|
+
if self.uint_32list:
|
|
284
|
+
for k in self.uint_32list:
|
|
285
|
+
if k:
|
|
286
|
+
k.validate()
|
|
287
|
+
self.validate_required(self.uint_16list, 'uint_16list')
|
|
288
|
+
if self.uint_16list:
|
|
289
|
+
for k in self.uint_16list:
|
|
290
|
+
if k:
|
|
291
|
+
k.validate()
|
|
292
|
+
self.validate_required(self.u_64, 'u_64')
|
|
293
|
+
self.validate_required(self.u_32, 'u_32')
|
|
294
|
+
self.validate_required(self.u_16, 'u_16')
|
|
295
|
+
self.validate_required(self.obj, 'obj')
|
|
296
|
+
self.validate_required(self.any, 'any')
|
|
297
|
+
self.validate_required(self.byt, 'byt')
|
|
298
|
+
self.validate_required(self.req, 'req')
|
|
299
|
+
self.validate_required(self.resp, 'resp')
|
|
300
|
+
self.validate_required(self.map, 'map')
|
|
301
|
+
self.validate_required(self.num_map, 'num_map')
|
|
302
|
+
if self.num_map:
|
|
303
|
+
for v in self.num_map.values():
|
|
304
|
+
if v:
|
|
305
|
+
v.validate()
|
|
306
|
+
self.validate_required(self.model_map, 'model_map')
|
|
307
|
+
if self.model_map:
|
|
308
|
+
for v in self.model_map.values():
|
|
309
|
+
if v:
|
|
310
|
+
v.validate()
|
|
311
|
+
self.validate_required(self.request, 'request')
|
|
312
|
+
self.validate_required(self.client, 'client')
|
|
313
|
+
self.validate_required(self.instance, 'instance')
|
|
314
|
+
self.validate_required(self.from_, 'from_')
|
|
315
|
+
self.validate_required(self.self_, 'self_')
|
|
316
|
+
self.validate_required(self.print, 'print')
|
|
317
|
+
self.validate_required(self.exec, 'exec')
|
|
318
|
+
self.validate_required(self.str, 'str')
|
|
319
|
+
if self.part:
|
|
320
|
+
for k in self.part:
|
|
321
|
+
if k:
|
|
322
|
+
k.validate()
|
|
323
|
+
|
|
324
|
+
def to_map(self):
|
|
325
|
+
_map = super().to_map()
|
|
326
|
+
if _map is not None:
|
|
327
|
+
return _map
|
|
328
|
+
|
|
329
|
+
result = dict()
|
|
330
|
+
if self.access_key is not None:
|
|
331
|
+
result['accessKey'] = self.access_key
|
|
332
|
+
if self.body is not None:
|
|
333
|
+
result['Body'] = self.body
|
|
334
|
+
if self.strs is not None:
|
|
335
|
+
result['Strs'] = self.strs
|
|
336
|
+
if self.map_list is not None:
|
|
337
|
+
result['mapList'] = self.map_list
|
|
338
|
+
if self.header is not None:
|
|
339
|
+
result['header'] = self.header.to_map()
|
|
340
|
+
|
|
341
|
+
if self.configs is not None:
|
|
342
|
+
result['configs'] = self.configs.to_map()
|
|
343
|
+
|
|
344
|
+
if self.num is not None:
|
|
345
|
+
result['num'] = self.num
|
|
346
|
+
if self.i_64 is not None:
|
|
347
|
+
result['i64'] = self.i_64
|
|
348
|
+
if self.f_64 is not None:
|
|
349
|
+
result['f64'] = self.f_64
|
|
350
|
+
if self.b is not None:
|
|
351
|
+
result['b'] = self.b
|
|
352
|
+
if self.f_32 is not None:
|
|
353
|
+
result['f32'] = self.f_32
|
|
354
|
+
if self.f_64list is not None:
|
|
355
|
+
result['f64List'] = self.f_64list
|
|
356
|
+
if self.float_list is not None:
|
|
357
|
+
result['floatList'] = self.float_list
|
|
358
|
+
if self.booleant_list is not None:
|
|
359
|
+
result['booleantList'] = self.booleant_list
|
|
360
|
+
if self.i_32 is not None:
|
|
361
|
+
result['i32'] = self.i_32
|
|
362
|
+
if self.string_list is not None:
|
|
363
|
+
result['stringList'] = self.string_list
|
|
364
|
+
if self.int_list is not None:
|
|
365
|
+
result['intList'] = self.int_list
|
|
366
|
+
if self.int_32list is not None:
|
|
367
|
+
result['int32List'] = self.int_32list
|
|
368
|
+
if self.int_16list is not None:
|
|
369
|
+
result['int16List'] = self.int_16list
|
|
370
|
+
if self.int_64list is not None:
|
|
371
|
+
result['int64List'] = self.int_64list
|
|
372
|
+
if self.long_list is not None:
|
|
373
|
+
result['longList'] = self.long_list
|
|
374
|
+
if self.uint_64list is not None:
|
|
375
|
+
result['uint64List'] = self.uint_64list
|
|
376
|
+
if self.uint_32list is not None:
|
|
377
|
+
result['uint32List'] = self.uint_32list
|
|
378
|
+
if self.uint_16list is not None:
|
|
379
|
+
result['uint16List'] = self.uint_16list
|
|
380
|
+
if self.u_64 is not None:
|
|
381
|
+
result['u64'] = self.u_64
|
|
382
|
+
if self.u_32 is not None:
|
|
383
|
+
result['u32'] = self.u_32
|
|
384
|
+
if self.u_16 is not None:
|
|
385
|
+
result['u16'] = self.u_16
|
|
386
|
+
if self.obj is not None:
|
|
387
|
+
result['obj'] = self.obj
|
|
388
|
+
if self.any is not None:
|
|
389
|
+
result['any'] = self.any
|
|
390
|
+
if self.byt is not None:
|
|
391
|
+
result['byt'] = self.byt
|
|
392
|
+
if self.req is not None:
|
|
393
|
+
result['req'] = self.req.to_map()
|
|
394
|
+
|
|
395
|
+
if self.resp is not None:
|
|
396
|
+
result['resp'] = self.resp.to_map()
|
|
397
|
+
|
|
398
|
+
if self.map is not None:
|
|
399
|
+
result['map'] = self.map
|
|
400
|
+
if self.num_map is not None:
|
|
401
|
+
result['numMap'] = self.num_map
|
|
402
|
+
if self.model_map is not None:
|
|
403
|
+
result['modelMap'] = {}
|
|
404
|
+
for k1, v1 in k.items():
|
|
405
|
+
result['modelMap'][k1] = v1.to_map() if v1 else None
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
if self.request is not None:
|
|
409
|
+
result['request'] = self.request.to_map()
|
|
410
|
+
|
|
411
|
+
if self.client is not None:
|
|
412
|
+
result['client'] = self.client
|
|
413
|
+
if self.instance is not None:
|
|
414
|
+
result['instance'] = self.instance.to_map()
|
|
415
|
+
|
|
416
|
+
if self.from_ is not None:
|
|
417
|
+
result['from'] = self.from_
|
|
418
|
+
if self.self_ is not None:
|
|
419
|
+
result['self'] = self.self_
|
|
420
|
+
if self.print is not None:
|
|
421
|
+
result['print'] = self.print
|
|
422
|
+
if self.exec is not None:
|
|
423
|
+
result['exec'] = self.exec
|
|
424
|
+
if self.str is not None:
|
|
425
|
+
result['srt'] = self.str
|
|
426
|
+
if self.part is not None:
|
|
427
|
+
l1 = 0
|
|
428
|
+
result['Part'] = []
|
|
429
|
+
for k1 in self.part:
|
|
430
|
+
l1 += 1
|
|
431
|
+
result['Part'][l1] = k1.to_map() if k1 else None
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
return result
|
|
435
|
+
|
|
436
|
+
def from_map(self, m: dict = None):
|
|
437
|
+
m = m or dict()
|
|
438
|
+
if m.get('accessKey') is not None:
|
|
439
|
+
self.access_key = m.get('accessKey')
|
|
440
|
+
if m.get('Body') is not None:
|
|
441
|
+
self.body = m.get('Body')
|
|
442
|
+
if m.get('Strs') is not None:
|
|
443
|
+
self.strs = m.get('Strs')
|
|
444
|
+
if m.get('mapList') is not None:
|
|
445
|
+
self.map_list = m.get('mapList')
|
|
446
|
+
if m.get('header') is not None:
|
|
447
|
+
temp_model = ComplexRequestHeader
|
|
448
|
+
self.header = temp_model.from_map(m.get('header'))
|
|
449
|
+
|
|
450
|
+
if m.get('configs') is not None:
|
|
451
|
+
temp_model = ComplexRequestConfigs
|
|
452
|
+
self.configs = temp_model.from_map(m.get('configs'))
|
|
453
|
+
|
|
454
|
+
if m.get('num') is not None:
|
|
455
|
+
self.num = m.get('num')
|
|
456
|
+
if m.get('i64') is not None:
|
|
457
|
+
self.i_64 = m.get('i64')
|
|
458
|
+
if m.get('f64') is not None:
|
|
459
|
+
self.f_64 = m.get('f64')
|
|
460
|
+
if m.get('b') is not None:
|
|
461
|
+
self.b = m.get('b')
|
|
462
|
+
if m.get('f32') is not None:
|
|
463
|
+
self.f_32 = m.get('f32')
|
|
464
|
+
if m.get('f64List') is not None:
|
|
465
|
+
self.f_64list = m.get('f64List')
|
|
466
|
+
if m.get('floatList') is not None:
|
|
467
|
+
self.float_list = m.get('floatList')
|
|
468
|
+
if m.get('booleantList') is not None:
|
|
469
|
+
self.booleant_list = m.get('booleantList')
|
|
470
|
+
if m.get('i32') is not None:
|
|
471
|
+
self.i_32 = m.get('i32')
|
|
472
|
+
if m.get('stringList') is not None:
|
|
473
|
+
self.string_list = m.get('stringList')
|
|
474
|
+
if m.get('intList') is not None:
|
|
475
|
+
self.int_list = m.get('intList')
|
|
476
|
+
if m.get('int32List') is not None:
|
|
477
|
+
self.int_32list = m.get('int32List')
|
|
478
|
+
if m.get('int16List') is not None:
|
|
479
|
+
self.int_16list = m.get('int16List')
|
|
480
|
+
if m.get('int64List') is not None:
|
|
481
|
+
self.int_64list = m.get('int64List')
|
|
482
|
+
if m.get('longList') is not None:
|
|
483
|
+
self.long_list = m.get('longList')
|
|
484
|
+
if m.get('uint64List') is not None:
|
|
485
|
+
self.uint_64list = m.get('uint64List')
|
|
486
|
+
if m.get('uint32List') is not None:
|
|
487
|
+
self.uint_32list = m.get('uint32List')
|
|
488
|
+
if m.get('uint16List') is not None:
|
|
489
|
+
self.uint_16list = m.get('uint16List')
|
|
490
|
+
if m.get('u64') is not None:
|
|
491
|
+
self.u_64 = m.get('u64')
|
|
492
|
+
if m.get('u32') is not None:
|
|
493
|
+
self.u_32 = m.get('u32')
|
|
494
|
+
if m.get('u16') is not None:
|
|
495
|
+
self.u_16 = m.get('u16')
|
|
496
|
+
if m.get('obj') is not None:
|
|
497
|
+
self.obj = m.get('obj')
|
|
498
|
+
if m.get('any') is not None:
|
|
499
|
+
self.any = m.get('any')
|
|
500
|
+
if m.get('byt') is not None:
|
|
501
|
+
self.byt = m.get('byt')
|
|
502
|
+
if m.get('req') is not None:
|
|
503
|
+
self.req = DaraRequest.from_map(m.get('req'))
|
|
504
|
+
|
|
505
|
+
if m.get('resp') is not None:
|
|
506
|
+
self.resp = DaraResponse.from_map(m.get('resp'))
|
|
507
|
+
|
|
508
|
+
if m.get('map') is not None:
|
|
509
|
+
self.map = m.get('map')
|
|
510
|
+
if m.get('numMap') is not None:
|
|
511
|
+
self.num_map = m.get('numMap')
|
|
512
|
+
if m.get('modelMap') is not None:
|
|
513
|
+
self.model_map = {}
|
|
514
|
+
for k1, v1 in m.get('modelMap').items():
|
|
515
|
+
self.model_map[k1] = SourceClient.from_map(v1)
|
|
516
|
+
|
|
517
|
+
if m.get('request') is not None:
|
|
518
|
+
self.request = SourceClient.from_map(m.get('request'))
|
|
519
|
+
|
|
520
|
+
if m.get('client') is not None:
|
|
521
|
+
self.client = m.get('client')
|
|
522
|
+
if m.get('instance') is not None:
|
|
523
|
+
self.instance = SourceClient.from_map(m.get('instance'))
|
|
524
|
+
|
|
525
|
+
if m.get('from') is not None:
|
|
526
|
+
self.from_ = m.get('from')
|
|
527
|
+
if m.get('self') is not None:
|
|
528
|
+
self.self_ = m.get('self')
|
|
529
|
+
if m.get('print') is not None:
|
|
530
|
+
self.print = m.get('print')
|
|
531
|
+
if m.get('exec') is not None:
|
|
532
|
+
self.exec = m.get('exec')
|
|
533
|
+
if m.get('srt') is not None:
|
|
534
|
+
self.str = m.get('srt')
|
|
535
|
+
if m.get('Part') is not None:
|
|
536
|
+
l1 = 0
|
|
537
|
+
self.part = []
|
|
538
|
+
for k1 in m.get('Part'):
|
|
539
|
+
l1 += 1
|
|
540
|
+
temp_model = ComplexRequestPart
|
|
541
|
+
self.part[l1] = temp_model.from_map(k1)
|
|
542
|
+
|
|
543
|
+
return self
|
|
544
|
+
|
|
545
|
+
class Response(DaraModel):
|
|
546
|
+
def __init__(
|
|
547
|
+
self,
|
|
548
|
+
instance: main_models.ComplexRequestPart = None,
|
|
549
|
+
):
|
|
550
|
+
self.instance = instance
|
|
551
|
+
|
|
552
|
+
def validate(self):
|
|
553
|
+
self.validate_required(self.instance, 'instance')
|
|
554
|
+
|
|
555
|
+
def to_map(self):
|
|
556
|
+
_map = super().to_map()
|
|
557
|
+
if _map is not None:
|
|
558
|
+
return _map
|
|
559
|
+
|
|
560
|
+
result = dict()
|
|
561
|
+
if self.instance is not None:
|
|
562
|
+
result['instance'] = self.instance
|
|
563
|
+
return result
|
|
564
|
+
|
|
565
|
+
def from_map(self, m: dict = None):
|
|
566
|
+
m = m or dict()
|
|
567
|
+
if m.get('instance') is not None:
|
|
568
|
+
self.instance = m.get('instance')
|
|
569
|
+
return self
|
|
570
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
Licensed to the Apache Software Foundation (ASF) under one
|
|
4
|
+
or more contributor license agreements. See the NOTICE file
|
|
5
|
+
distributed with this work for additional information
|
|
6
|
+
regarding copyright ownership. The ASF licenses this file
|
|
7
|
+
to you under the Apache License, Version 2.0 (the
|
|
8
|
+
"License"); you may not use this file except in compliance
|
|
9
|
+
with the License. You may obtain a copy of the License at
|
|
10
|
+
|
|
11
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
|
|
13
|
+
Unless required by applicable law or agreed to in writing,
|
|
14
|
+
software distributed under the License is distributed on an
|
|
15
|
+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
16
|
+
KIND, either express or implied. See the License for the
|
|
17
|
+
specific language governing permissions and limitations
|
|
18
|
+
under the License.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
import os
|
|
22
|
+
from setuptools import setup, find_packages
|
|
23
|
+
|
|
24
|
+
"""
|
|
25
|
+
setup module for tea_python_tests.
|
|
26
|
+
|
|
27
|
+
Created on *
|
|
28
|
+
|
|
29
|
+
@author: Alibaba
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
PACKAGE = "tea_python_tests"
|
|
33
|
+
NAME = "tea_python_tests"
|
|
34
|
+
DESCRIPTION = ""
|
|
35
|
+
AUTHOR = "Alibaba"
|
|
36
|
+
AUTHOR_EMAIL = "sdk-team@alibabacloud.com"
|
|
37
|
+
URL = "https://github.com/"
|
|
38
|
+
VERSION = __import__(PACKAGE).__version__
|
|
39
|
+
REQUIRES = [
|
|
40
|
+
"darabonba-core>=1.0.0, <2.0.0",
|
|
41
|
+
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
LONG_DESCRIPTION = ''
|
|
45
|
+
if os.path.exists('./README.md'):
|
|
46
|
+
with open("README.md", encoding='utf-8') as fp:
|
|
47
|
+
LONG_DESCRIPTION = fp.read()
|
|
48
|
+
|
|
49
|
+
setup(
|
|
50
|
+
name=NAME,
|
|
51
|
+
version=VERSION,
|
|
52
|
+
description=DESCRIPTION,
|
|
53
|
+
long_description=LONG_DESCRIPTION,
|
|
54
|
+
long_description_content_type='text/markdown',
|
|
55
|
+
author=AUTHOR,
|
|
56
|
+
author_email=AUTHOR_EMAIL,
|
|
57
|
+
license="Apache License 2.0",
|
|
58
|
+
url=URL,
|
|
59
|
+
keywords=["tea","python","tests"],
|
|
60
|
+
packages=find_packages(exclude=["tests*"]),
|
|
61
|
+
include_package_data=True,
|
|
62
|
+
platforms="any",
|
|
63
|
+
install_requires=REQUIRES,
|
|
64
|
+
python_requires=">=3.6",
|
|
65
|
+
classifiers=(
|
|
66
|
+
"Development Status :: 4 - Beta",
|
|
67
|
+
"Intended Audience :: Developers",
|
|
68
|
+
"License :: OSI Approved :: Apache Software License",
|
|
69
|
+
"Programming Language :: Python",
|
|
70
|
+
"Programming Language :: Python :: 3",
|
|
71
|
+
"Programming Language :: Python :: 3.6",
|
|
72
|
+
"Programming Language :: Python :: 3.7",
|
|
73
|
+
"Programming Language :: Python :: 3.8",
|
|
74
|
+
"Programming Language :: Python :: 3.9",
|
|
75
|
+
"Topic :: Software Development"
|
|
76
|
+
)
|
|
77
|
+
)
|