@darabonba/python-generator 2.0.3 → 2.0.5
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 +7 -0
- package/lib/builtin.js +6 -12
- package/lib/generator.js +118 -78
- package/package.json +1 -1
- package/tests/expected/annotation/tea_python_tests/models/_test.py +5 -4
- package/tests/expected/builtin/tea_python_tests/client.py +5 -5
- package/tests/expected/comment/tea_python_tests/models/_test_1.py +15 -4
- package/tests/expected/comment/tea_python_tests/models/_test_2.py +7 -4
- package/tests/expected/comment/tea_python_tests/models/_test_3.py +7 -4
- package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +1 -1
- package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +1 -1
- package/tests/expected/complex/tea_python_tests/models/_complex_request.py +85 -63
- package/tests/expected/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
- package/tests/expected/complex/tea_python_tests/models/_complex_request_header.py +5 -4
- package/tests/expected/complex/tea_python_tests/models/_complex_request_part.py +5 -4
- package/tests/expected/complex/tea_python_tests/models/_response.py +5 -4
- package/tests/expected/model/tea_python_tests/exceptions/_main_file.py +1 -1
- package/tests/expected/model/tea_python_tests/models/_class.py +2 -3
- package/tests/expected/model/tea_python_tests/models/_m.py +3 -4
- package/tests/expected/model/tea_python_tests/models/_main_file_model.py +5 -4
- package/tests/expected/model/tea_python_tests/models/_main_file_model_model.py +5 -4
- package/tests/expected/model/tea_python_tests/models/_model.py +5 -4
- package/tests/expected/model/tea_python_tests/models/_msub_m.py +2 -3
- package/tests/expected/model/tea_python_tests/models/_my_model.py +216 -74
- package/tests/expected/model/tea_python_tests/models/_my_model_model.py +5 -4
- package/tests/expected/model/tea_python_tests/models/_my_model_model_model.py +5 -4
- package/tests/expected/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
- package/tests/expected/model/tea_python_tests/models/_my_model_submodel.py +5 -4
- package/tests/expected/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
- package/tests/expected/modelConfig/tea_python_tests/__init__.py +1 -0
- package/tests/expected/modelConfig/tea_python_tests/client.py +10 -0
- package/tests/expected/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
- package/tests/expected/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
- package/tests/expected/modelConfig/tea_python_tests/models/__init__.py +33 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_class.py +23 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_m.py +37 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_model.py +33 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_my_model.py +600 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
- package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
- package/tests/expected/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
- package/tests/expected/multi/tea_python_tests/exceptions/_err.py +2 -2
- package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
- package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
- package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
- package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
- package/tests/expected/multi/tea_python_tests/model/user_models/_info.py +7 -4
- package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +12 -8
- package/tests/expected/typedef/tea_python_tests/models/_m.py +7 -4
- package/tests/fixtures/model/main.dara +4 -0
- package/tests/fixtures/modelConfig/.libraries.json +3 -0
- package/tests/fixtures/modelConfig/Darafile +13 -0
- package/tests/fixtures/modelConfig/libraries/Darafile +20 -0
- package/tests/fixtures/modelConfig/libraries/import.dara +27 -0
- package/tests/fixtures/modelConfig/main.dara +81 -0
- package/tests/main.tests.js +18 -0
- package/tests/output/annotation/tea_python_tests/models/_test.py +5 -4
- package/tests/output/builtin/tea_python_tests/client.py +5 -5
- package/tests/output/comment/tea_python_tests/models/_test_1.py +15 -4
- package/tests/output/comment/tea_python_tests/models/_test_2.py +7 -4
- package/tests/output/comment/tea_python_tests/models/_test_3.py +7 -4
- package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +1 -1
- package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +1 -1
- package/tests/output/complex/tea_python_tests/models/_complex_request.py +85 -63
- package/tests/output/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
- package/tests/output/complex/tea_python_tests/models/_complex_request_header.py +5 -4
- package/tests/output/complex/tea_python_tests/models/_complex_request_part.py +5 -4
- package/tests/output/complex/tea_python_tests/models/_response.py +5 -4
- package/tests/output/model/tea_python_tests/exceptions/_main_file.py +1 -1
- package/tests/output/model/tea_python_tests/models/_class.py +2 -3
- package/tests/output/model/tea_python_tests/models/_m.py +3 -4
- package/tests/output/model/tea_python_tests/models/_main_file_model.py +5 -4
- package/tests/output/model/tea_python_tests/models/_main_file_model_model.py +5 -4
- package/tests/output/model/tea_python_tests/models/_model.py +5 -4
- package/tests/output/model/tea_python_tests/models/_msub_m.py +2 -3
- package/tests/output/model/tea_python_tests/models/_my_model.py +216 -74
- package/tests/output/model/tea_python_tests/models/_my_model_model.py +5 -4
- package/tests/output/model/tea_python_tests/models/_my_model_model_model.py +5 -4
- package/tests/output/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
- package/tests/output/model/tea_python_tests/models/_my_model_submodel.py +5 -4
- package/tests/output/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
- package/tests/output/modelConfig/setup.py +77 -0
- package/tests/output/modelConfig/tea_python_tests/__init__.py +1 -0
- package/tests/output/modelConfig/tea_python_tests/client.py +10 -0
- package/tests/output/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
- package/tests/output/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
- package/tests/output/modelConfig/tea_python_tests/models/__init__.py +33 -0
- package/tests/output/modelConfig/tea_python_tests/models/_class.py +23 -0
- package/tests/output/modelConfig/tea_python_tests/models/_m.py +37 -0
- package/tests/output/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
- package/tests/output/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
- package/tests/output/modelConfig/tea_python_tests/models/_model.py +33 -0
- package/tests/output/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
- package/tests/output/modelConfig/tea_python_tests/models/_my_model.py +600 -0
- package/tests/output/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
- package/tests/output/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
- package/tests/output/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
- package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
- package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
- package/tests/output/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
- package/tests/output/multi/tea_python_tests/exceptions/_err.py +2 -2
- package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
- package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
- package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
- package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
- package/tests/output/multi/tea_python_tests/model/user_models/_info.py +7 -4
- package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +12 -8
- package/tests/output/typedef/tea_python_tests/models/_m.py +7 -4
|
@@ -0,0 +1,46 @@
|
|
|
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 tea_python_tests import models as main_models
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class MyModelSubmodel(DaraModel):
|
|
9
|
+
def __init__(
|
|
10
|
+
self, *,
|
|
11
|
+
stringfield: str = None,
|
|
12
|
+
model: main_models.MyModelSubmodelModel = None,
|
|
13
|
+
):
|
|
14
|
+
self.stringfield = stringfield
|
|
15
|
+
self.model = model
|
|
16
|
+
|
|
17
|
+
def validate(self):
|
|
18
|
+
self.validate_required(self.stringfield, 'stringfield')
|
|
19
|
+
self.validate_required(self.model, 'model')
|
|
20
|
+
if self.model:
|
|
21
|
+
self.model.validate()
|
|
22
|
+
|
|
23
|
+
def to_map(self):
|
|
24
|
+
result = dict()
|
|
25
|
+
_map = super().to_map()
|
|
26
|
+
if _map is not None:
|
|
27
|
+
result = _map
|
|
28
|
+
if self.stringfield is not None:
|
|
29
|
+
result['stringfield'] = self.stringfield
|
|
30
|
+
|
|
31
|
+
if self.model is not None:
|
|
32
|
+
result['model'] = self.model.to_map()
|
|
33
|
+
|
|
34
|
+
return result
|
|
35
|
+
|
|
36
|
+
def from_map(self, m: dict = None):
|
|
37
|
+
m = m or dict()
|
|
38
|
+
if m.get('stringfield') is not None:
|
|
39
|
+
self.stringfield = m.get('stringfield')
|
|
40
|
+
|
|
41
|
+
if m.get('model') is not None:
|
|
42
|
+
temp_model = main_models.MyModelSubmodelModel()
|
|
43
|
+
self.model = temp_model.from_map(m.get('model'))
|
|
44
|
+
|
|
45
|
+
return self
|
|
46
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
|
|
6
|
+
|
|
7
|
+
class MyModelSubmodelModel(DaraModel):
|
|
8
|
+
def __init__(
|
|
9
|
+
self, *,
|
|
10
|
+
str: str = None,
|
|
11
|
+
):
|
|
12
|
+
self.str = str
|
|
13
|
+
|
|
14
|
+
def validate(self):
|
|
15
|
+
self.validate_required(self.str, 'str')
|
|
16
|
+
|
|
17
|
+
def to_map(self):
|
|
18
|
+
result = dict()
|
|
19
|
+
_map = super().to_map()
|
|
20
|
+
if _map is not None:
|
|
21
|
+
result = _map
|
|
22
|
+
if self.str is not None:
|
|
23
|
+
result['str'] = self.str
|
|
24
|
+
|
|
25
|
+
return result
|
|
26
|
+
|
|
27
|
+
def from_map(self, m: dict = None):
|
|
28
|
+
m = m or dict()
|
|
29
|
+
if m.get('str') is not None:
|
|
30
|
+
self.str = m.get('str')
|
|
31
|
+
|
|
32
|
+
return self
|
|
33
|
+
|
|
@@ -8,7 +8,7 @@ from darabonba.model import DaraModel
|
|
|
8
8
|
|
|
9
9
|
class TestModelDir2(DaraModel):
|
|
10
10
|
def __init__(
|
|
11
|
-
self,
|
|
11
|
+
self,
|
|
12
12
|
test: int = None,
|
|
13
13
|
):
|
|
14
14
|
self.test = test
|
|
@@ -17,18 +17,19 @@ class TestModelDir2(DaraModel):
|
|
|
17
17
|
self.validate_required(self.test, 'test')
|
|
18
18
|
|
|
19
19
|
def to_map(self):
|
|
20
|
+
result = dict()
|
|
20
21
|
_map = super().to_map()
|
|
21
22
|
if _map is not None:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
result = dict()
|
|
23
|
+
result = _map
|
|
25
24
|
if self.test is not None:
|
|
26
25
|
result['test'] = self.test
|
|
26
|
+
|
|
27
27
|
return result
|
|
28
28
|
|
|
29
29
|
def from_map(self, m: dict = None):
|
|
30
30
|
m = m or dict()
|
|
31
31
|
if m.get('test') is not None:
|
|
32
32
|
self.test = m.get('test')
|
|
33
|
+
|
|
33
34
|
return self
|
|
34
35
|
|
|
@@ -6,7 +6,7 @@ from darabonba.exceptions import DaraException
|
|
|
6
6
|
|
|
7
7
|
class ERRException(DaraException):
|
|
8
8
|
def __init__(
|
|
9
|
-
self,
|
|
9
|
+
self,
|
|
10
10
|
message: str = None,
|
|
11
11
|
code: str = None,
|
|
12
12
|
stack: str = None,
|
|
@@ -22,7 +22,7 @@ class ERRException(DaraException):
|
|
|
22
22
|
|
|
23
23
|
class ErrException(DaraException):
|
|
24
24
|
def __init__(
|
|
25
|
-
self,
|
|
25
|
+
self,
|
|
26
26
|
message: str = None,
|
|
27
27
|
code: str = None,
|
|
28
28
|
stack: str = None,
|
|
@@ -8,7 +8,7 @@ from alibabacloud_tea_util import models as darautil_models
|
|
|
8
8
|
|
|
9
9
|
class BaseInfo(darautil_models.RuntimeOptions):
|
|
10
10
|
def __init__(
|
|
11
|
-
self,
|
|
11
|
+
self,
|
|
12
12
|
autoretry: bool = None,
|
|
13
13
|
ignore_ssl: bool = None,
|
|
14
14
|
key: str = None,
|
|
@@ -55,18 +55,19 @@ class BaseInfo(darautil_models.RuntimeOptions):
|
|
|
55
55
|
self.validate_required(self.max_attemp, 'max_attemp')
|
|
56
56
|
|
|
57
57
|
def to_map(self):
|
|
58
|
+
result = dict()
|
|
58
59
|
_map = super().to_map()
|
|
59
60
|
if _map is not None:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
result = dict()
|
|
61
|
+
result = _map
|
|
63
62
|
if self.max_attemp is not None:
|
|
64
63
|
result['maxAttemp'] = self.max_attemp
|
|
64
|
+
|
|
65
65
|
return result
|
|
66
66
|
|
|
67
67
|
def from_map(self, m: dict = None):
|
|
68
68
|
m = m or dict()
|
|
69
69
|
if m.get('maxAttemp') is not None:
|
|
70
70
|
self.max_attemp = m.get('maxAttemp')
|
|
71
|
+
|
|
71
72
|
return self
|
|
72
73
|
|
|
@@ -6,7 +6,7 @@ from tea_python_tests import user_models as main_models
|
|
|
6
6
|
|
|
7
7
|
class Info(main_models.BaseInfo):
|
|
8
8
|
def __init__(
|
|
9
|
-
self,
|
|
9
|
+
self,
|
|
10
10
|
max_attemp: int = None,
|
|
11
11
|
autoretry: bool = None,
|
|
12
12
|
ignore_ssl: bool = None,
|
|
@@ -58,22 +58,25 @@ class Info(main_models.BaseInfo):
|
|
|
58
58
|
self.validate_required(self.age, 'age')
|
|
59
59
|
|
|
60
60
|
def to_map(self):
|
|
61
|
+
result = dict()
|
|
61
62
|
_map = super().to_map()
|
|
62
63
|
if _map is not None:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
result = dict()
|
|
64
|
+
result = _map
|
|
66
65
|
if self.name is not None:
|
|
67
66
|
result['name'] = self.name
|
|
67
|
+
|
|
68
68
|
if self.age is not None:
|
|
69
69
|
result['age'] = self.age
|
|
70
|
+
|
|
70
71
|
return result
|
|
71
72
|
|
|
72
73
|
def from_map(self, m: dict = None):
|
|
73
74
|
m = m or dict()
|
|
74
75
|
if m.get('name') is not None:
|
|
75
76
|
self.name = m.get('name')
|
|
77
|
+
|
|
76
78
|
if m.get('age') is not None:
|
|
77
79
|
self.age = m.get('age')
|
|
80
|
+
|
|
78
81
|
return self
|
|
79
82
|
|
|
@@ -8,7 +8,7 @@ from typing import Any
|
|
|
8
8
|
|
|
9
9
|
class TestModelDIR(DaraModel):
|
|
10
10
|
def __init__(
|
|
11
|
-
self,
|
|
11
|
+
self,
|
|
12
12
|
test: str = None,
|
|
13
13
|
a: Any = None,
|
|
14
14
|
):
|
|
@@ -20,30 +20,33 @@ class TestModelDIR(DaraModel):
|
|
|
20
20
|
self.validate_required(self.a, 'a')
|
|
21
21
|
|
|
22
22
|
def to_map(self):
|
|
23
|
+
result = dict()
|
|
23
24
|
_map = super().to_map()
|
|
24
25
|
if _map is not None:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
result = dict()
|
|
26
|
+
result = _map
|
|
28
27
|
if self.test is not None:
|
|
29
28
|
result['test'] = self.test
|
|
29
|
+
|
|
30
30
|
if self.a is not None:
|
|
31
31
|
result['a'] = self.a
|
|
32
|
+
|
|
32
33
|
return result
|
|
33
34
|
|
|
34
35
|
def from_map(self, m: dict = None):
|
|
35
36
|
m = m or dict()
|
|
36
37
|
if m.get('test') is not None:
|
|
37
38
|
self.test = m.get('test')
|
|
39
|
+
|
|
38
40
|
if m.get('a') is not None:
|
|
39
41
|
self.a = m.get('a')
|
|
42
|
+
|
|
40
43
|
return self
|
|
41
44
|
|
|
42
45
|
|
|
43
46
|
|
|
44
47
|
class TestModelDir(DaraModel):
|
|
45
48
|
def __init__(
|
|
46
|
-
self,
|
|
49
|
+
self,
|
|
47
50
|
test: int = None,
|
|
48
51
|
m: user_models.Info = None,
|
|
49
52
|
):
|
|
@@ -55,13 +58,13 @@ class TestModelDir(DaraModel):
|
|
|
55
58
|
self.validate_required(self.m, 'm')
|
|
56
59
|
|
|
57
60
|
def to_map(self):
|
|
61
|
+
result = dict()
|
|
58
62
|
_map = super().to_map()
|
|
59
63
|
if _map is not None:
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
result = dict()
|
|
64
|
+
result = _map
|
|
63
65
|
if self.test is not None:
|
|
64
66
|
result['test'] = self.test
|
|
67
|
+
|
|
65
68
|
if self.m is not None:
|
|
66
69
|
result['m'] = self.m.to_map()
|
|
67
70
|
|
|
@@ -71,6 +74,7 @@ class TestModelDir(DaraModel):
|
|
|
71
74
|
m = m or dict()
|
|
72
75
|
if m.get('test') is not None:
|
|
73
76
|
self.test = m.get('test')
|
|
77
|
+
|
|
74
78
|
if m.get('m') is not None:
|
|
75
79
|
temp_model = user_models.Info()
|
|
76
80
|
self.m = temp_model.from_map(m.get('m'))
|
|
@@ -10,7 +10,7 @@ from Tea.model import TeaModel
|
|
|
10
10
|
|
|
11
11
|
class M(DaraModel):
|
|
12
12
|
def __init__(
|
|
13
|
-
self,
|
|
13
|
+
self,
|
|
14
14
|
a: Request = None,
|
|
15
15
|
b: TeaModel = None,
|
|
16
16
|
):
|
|
@@ -21,22 +21,25 @@ class M(DaraModel):
|
|
|
21
21
|
pass
|
|
22
22
|
|
|
23
23
|
def to_map(self):
|
|
24
|
+
result = dict()
|
|
24
25
|
_map = super().to_map()
|
|
25
26
|
if _map is not None:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
result = dict()
|
|
27
|
+
result = _map
|
|
29
28
|
if self.a is not None:
|
|
30
29
|
result['a'] = self.a
|
|
30
|
+
|
|
31
31
|
if self.b is not None:
|
|
32
32
|
result['b'] = self.b
|
|
33
|
+
|
|
33
34
|
return result
|
|
34
35
|
|
|
35
36
|
def from_map(self, m: dict = None):
|
|
36
37
|
m = m or dict()
|
|
37
38
|
if m.get('a') is not None:
|
|
38
39
|
self.a = m.get('a')
|
|
40
|
+
|
|
39
41
|
if m.get('b') is not None:
|
|
40
42
|
self.b = m.get('b')
|
|
43
|
+
|
|
41
44
|
return self
|
|
42
45
|
|