@darabonba/python-generator 2.0.4 → 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 +5 -1
- 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/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/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
|
|
|
@@ -45,10 +45,14 @@ model MyModel = {
|
|
|
45
45
|
subarray: [ M ],
|
|
46
46
|
ssubarray: [[ M ]],
|
|
47
47
|
ssubmarray: [[ Source ]],
|
|
48
|
+
sssubmarray: [[ Source ]],
|
|
48
49
|
ssubmmarray: [[ Source.Request ]],
|
|
50
|
+
sssubmmarray: [[[ Source.Request ]]],
|
|
49
51
|
maparray: [ map[string]any ],
|
|
50
52
|
mapsubmarray: [ map[string]Source ],
|
|
51
53
|
moduleModelMap: map[string]Source.Request,
|
|
54
|
+
arrModuleModelMap: [ map[string]Source.Request ],
|
|
55
|
+
arrsModuleModelMap: [[ map[string]Source.Request ]],
|
|
52
56
|
subModelMap: map[string]M.subM,
|
|
53
57
|
modelMap: map[string]M,
|
|
54
58
|
moduleMap: map[string]Source,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"scope": "darabonba",
|
|
3
|
+
"name": "import",
|
|
4
|
+
"version": "0.0.1",
|
|
5
|
+
"main": "./import.dara",
|
|
6
|
+
"java": {
|
|
7
|
+
"package": "com.import"
|
|
8
|
+
},
|
|
9
|
+
"csharp": {
|
|
10
|
+
"namespace": "Darabonba.import"
|
|
11
|
+
},
|
|
12
|
+
"python": {
|
|
13
|
+
"package": "Source",
|
|
14
|
+
"clientName": "client",
|
|
15
|
+
"modelDirName": "Models"
|
|
16
|
+
},
|
|
17
|
+
"releases": {
|
|
18
|
+
"php": "scope/name:1.0.0"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
model RuntimeObject = {}
|
|
2
|
+
|
|
3
|
+
static function array(request: object, str: string): [ any ];
|
|
4
|
+
|
|
5
|
+
static function query(q: object): map[string]string;
|
|
6
|
+
static function body(): readable;
|
|
7
|
+
static function parse(c: class): void;
|
|
8
|
+
static async function asyncFunc(): void;
|
|
9
|
+
|
|
10
|
+
type @protocol = string
|
|
11
|
+
type @pathname = string
|
|
12
|
+
type @API = map[string]string
|
|
13
|
+
|
|
14
|
+
init(config: Config);
|
|
15
|
+
model Config = {}
|
|
16
|
+
function print(runtime: object, str: string): void {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async function printAsync(runtime: object, str: string): void {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
model Request = {
|
|
25
|
+
accesskey?: string(name='accesskey', description='accesskey'),
|
|
26
|
+
region?: string(name='region', description='region'),
|
|
27
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import Source;
|
|
2
|
+
|
|
3
|
+
model M = {
|
|
4
|
+
subM: {}
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
model Class = {};
|
|
8
|
+
|
|
9
|
+
model model = {
|
|
10
|
+
str: string
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exception MainFile extends $Error {
|
|
14
|
+
size: number,
|
|
15
|
+
data: map[string]model,
|
|
16
|
+
model: {
|
|
17
|
+
str: string,
|
|
18
|
+
model: {
|
|
19
|
+
str: string
|
|
20
|
+
},
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
model MyModel = {
|
|
25
|
+
model: {
|
|
26
|
+
str: string,
|
|
27
|
+
model: {
|
|
28
|
+
str: string
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
stringfield: string,
|
|
32
|
+
bytesfield: bytes,
|
|
33
|
+
stringarrayfield: [ string ],
|
|
34
|
+
mapfield: map[string]string,
|
|
35
|
+
name: string(name='realName'),
|
|
36
|
+
submodel: {
|
|
37
|
+
stringfield: string,
|
|
38
|
+
model: {
|
|
39
|
+
str: string
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
submodelMap: map[string]MyModel.submodel,
|
|
43
|
+
mapModel: map[string]M,
|
|
44
|
+
subarraymodel: [ {} ],
|
|
45
|
+
subarray: [ M ],
|
|
46
|
+
ssubarray: [[ M ]],
|
|
47
|
+
ssubmarray: [[ Source ]],
|
|
48
|
+
sssubmarray: [[ Source ]],
|
|
49
|
+
ssubmmarray: [[ Source.Request ]],
|
|
50
|
+
sssubmmarray: [[[ Source.Request ]]],
|
|
51
|
+
maparray: [ map[string]any ],
|
|
52
|
+
mapsubmarray: [ map[string]Source ],
|
|
53
|
+
moduleModelMap: map[string]Source.Request,
|
|
54
|
+
arrModuleModelMap: [ map[string]Source.Request ],
|
|
55
|
+
arrsModuleModelMap: [[ map[string]Source.Request ]],
|
|
56
|
+
subModelMap: map[string]M.subM,
|
|
57
|
+
modelMap: map[string]M,
|
|
58
|
+
moduleMap: map[string]Source,
|
|
59
|
+
object: object,
|
|
60
|
+
readable: readable,
|
|
61
|
+
writable: writable,
|
|
62
|
+
existModel: M,
|
|
63
|
+
request: $Request,
|
|
64
|
+
complexList: [ [ string ] ],
|
|
65
|
+
numberfield: number,
|
|
66
|
+
integerField: integer,
|
|
67
|
+
floatField: float,
|
|
68
|
+
doubleField: double,
|
|
69
|
+
longField: long,
|
|
70
|
+
ulongField: ulong,
|
|
71
|
+
int8Field: int8,
|
|
72
|
+
int16Field: int16,
|
|
73
|
+
int32Field: int32,
|
|
74
|
+
int64Field: int64,
|
|
75
|
+
uint8Field: uint8,
|
|
76
|
+
uint16Field: uint16,
|
|
77
|
+
uint32Field: uint32,
|
|
78
|
+
uint64Field: uint64,
|
|
79
|
+
link?: string(name='link', example='http://*/*.png'),
|
|
80
|
+
};
|
|
81
|
+
|
package/tests/main.tests.js
CHANGED
|
@@ -102,6 +102,24 @@ describe('Python Generator', function () {
|
|
|
102
102
|
});
|
|
103
103
|
});
|
|
104
104
|
|
|
105
|
+
it('model config should ok', function () {
|
|
106
|
+
check('modelConfig', 'tea_python_tests',
|
|
107
|
+
{
|
|
108
|
+
python: {
|
|
109
|
+
package: 'tea_python_tests',
|
|
110
|
+
clientName: 'client',
|
|
111
|
+
noneEmpty: true,
|
|
112
|
+
strictModel: true,
|
|
113
|
+
additionalPackage: [
|
|
114
|
+
{
|
|
115
|
+
from: '__future__',
|
|
116
|
+
import: 'annotations'
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
|
|
105
123
|
it('map should ok', function () {
|
|
106
124
|
check('map', 'tea_python_tests',
|
|
107
125
|
{
|
|
@@ -10,7 +10,7 @@ from darabonba.model import DaraModel
|
|
|
10
10
|
"""
|
|
11
11
|
class Test(DaraModel):
|
|
12
12
|
def __init__(
|
|
13
|
-
self,
|
|
13
|
+
self,
|
|
14
14
|
test: str = None,
|
|
15
15
|
):
|
|
16
16
|
# Alichange app id
|
|
@@ -20,18 +20,19 @@ class Test(DaraModel):
|
|
|
20
20
|
self.validate_required(self.test, 'test')
|
|
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
|
return result
|
|
31
31
|
|
|
32
32
|
def from_map(self, m: dict = None):
|
|
33
33
|
m = m or dict()
|
|
34
34
|
if m.get('test') is not None:
|
|
35
35
|
self.test = m.get('test')
|
|
36
|
+
|
|
36
37
|
return self
|
|
37
38
|
|
|
@@ -14,7 +14,7 @@ from typing import List
|
|
|
14
14
|
"""
|
|
15
15
|
class Test1(DaraModel):
|
|
16
16
|
def __init__(
|
|
17
|
-
self,
|
|
17
|
+
self,
|
|
18
18
|
test: str = None,
|
|
19
19
|
# odel的test back comment
|
|
20
20
|
test_2: str = None,
|
|
@@ -50,42 +50,53 @@ class Test1(DaraModel):
|
|
|
50
50
|
self.validate_required(self.a_sts, 'a_sts')
|
|
51
51
|
|
|
52
52
|
def to_map(self):
|
|
53
|
+
result = dict()
|
|
53
54
|
_map = super().to_map()
|
|
54
55
|
if _map is not None:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
result = dict()
|
|
56
|
+
result = _map
|
|
58
57
|
if self.test is not None:
|
|
59
58
|
result['test'] = self.test
|
|
59
|
+
|
|
60
60
|
# odel的test back comment
|
|
61
61
|
if self.test_2 is not None:
|
|
62
62
|
result['test2'] = self.test_2
|
|
63
|
+
|
|
63
64
|
# odel的test2 back comment
|
|
64
65
|
if self.test_3 is not None:
|
|
65
66
|
result['test3'] = self.test_3
|
|
67
|
+
|
|
66
68
|
if self.test_5 is not None:
|
|
67
69
|
result['test5'] = self.test_5
|
|
70
|
+
|
|
68
71
|
if self.sts is not None:
|
|
69
72
|
result['sts'] = self.sts
|
|
73
|
+
|
|
70
74
|
if self.a_sts is not None:
|
|
71
75
|
result['asts'] = self.a_sts
|
|
76
|
+
|
|
72
77
|
return result
|
|
73
78
|
|
|
74
79
|
def from_map(self, m: dict = None):
|
|
75
80
|
m = m or dict()
|
|
76
81
|
if m.get('test') is not None:
|
|
77
82
|
self.test = m.get('test')
|
|
83
|
+
|
|
78
84
|
# odel的test back comment
|
|
79
85
|
if m.get('test2') is not None:
|
|
80
86
|
self.test_2 = m.get('test2')
|
|
87
|
+
|
|
81
88
|
# odel的test2 back comment
|
|
82
89
|
if m.get('test3') is not None:
|
|
83
90
|
self.test_3 = m.get('test3')
|
|
91
|
+
|
|
84
92
|
if m.get('test5') is not None:
|
|
85
93
|
self.test_5 = m.get('test5')
|
|
94
|
+
|
|
86
95
|
if m.get('sts') is not None:
|
|
87
96
|
self.sts = m.get('sts')
|
|
97
|
+
|
|
88
98
|
if m.get('asts') is not None:
|
|
89
99
|
self.a_sts = m.get('asts')
|
|
100
|
+
|
|
90
101
|
return self
|
|
91
102
|
|
|
@@ -10,7 +10,7 @@ from darabonba.model import DaraModel
|
|
|
10
10
|
"""
|
|
11
11
|
class Test2(DaraModel):
|
|
12
12
|
def __init__(
|
|
13
|
-
self,
|
|
13
|
+
self,
|
|
14
14
|
# model的test front comment
|
|
15
15
|
test: str = None,
|
|
16
16
|
# model的test front comment
|
|
@@ -30,17 +30,18 @@ class Test2(DaraModel):
|
|
|
30
30
|
self.validate_required(self.test_2, 'test_2')
|
|
31
31
|
|
|
32
32
|
def to_map(self):
|
|
33
|
+
result = dict()
|
|
33
34
|
_map = super().to_map()
|
|
34
35
|
if _map is not None:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
result = dict()
|
|
36
|
+
result = _map
|
|
38
37
|
# model的test front comment
|
|
39
38
|
if self.test is not None:
|
|
40
39
|
result['test'] = self.test
|
|
40
|
+
|
|
41
41
|
# model的test front comment
|
|
42
42
|
if self.test_2 is not None:
|
|
43
43
|
result['test2'] = self.test_2
|
|
44
|
+
|
|
44
45
|
return result
|
|
45
46
|
|
|
46
47
|
def from_map(self, m: dict = None):
|
|
@@ -48,8 +49,10 @@ class Test2(DaraModel):
|
|
|
48
49
|
# model的test front comment
|
|
49
50
|
if m.get('test') is not None:
|
|
50
51
|
self.test = m.get('test')
|
|
52
|
+
|
|
51
53
|
# model的test front comment
|
|
52
54
|
if m.get('test2') is not None:
|
|
53
55
|
self.test_2 = m.get('test2')
|
|
56
|
+
|
|
54
57
|
return self
|
|
55
58
|
|