@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.
Files changed (111) hide show
  1. package/ChangeLog.md +5 -1
  2. package/lib/generator.js +118 -78
  3. package/package.json +1 -1
  4. package/tests/expected/annotation/tea_python_tests/models/_test.py +5 -4
  5. package/tests/expected/comment/tea_python_tests/models/_test_1.py +15 -4
  6. package/tests/expected/comment/tea_python_tests/models/_test_2.py +7 -4
  7. package/tests/expected/comment/tea_python_tests/models/_test_3.py +7 -4
  8. package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +1 -1
  9. package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  10. package/tests/expected/complex/tea_python_tests/models/_complex_request.py +85 -63
  11. package/tests/expected/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
  12. package/tests/expected/complex/tea_python_tests/models/_complex_request_header.py +5 -4
  13. package/tests/expected/complex/tea_python_tests/models/_complex_request_part.py +5 -4
  14. package/tests/expected/complex/tea_python_tests/models/_response.py +5 -4
  15. package/tests/expected/model/tea_python_tests/exceptions/_main_file.py +1 -1
  16. package/tests/expected/model/tea_python_tests/models/_class.py +2 -3
  17. package/tests/expected/model/tea_python_tests/models/_m.py +3 -4
  18. package/tests/expected/model/tea_python_tests/models/_main_file_model.py +5 -4
  19. package/tests/expected/model/tea_python_tests/models/_main_file_model_model.py +5 -4
  20. package/tests/expected/model/tea_python_tests/models/_model.py +5 -4
  21. package/tests/expected/model/tea_python_tests/models/_msub_m.py +2 -3
  22. package/tests/expected/model/tea_python_tests/models/_my_model.py +216 -74
  23. package/tests/expected/model/tea_python_tests/models/_my_model_model.py +5 -4
  24. package/tests/expected/model/tea_python_tests/models/_my_model_model_model.py +5 -4
  25. package/tests/expected/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
  26. package/tests/expected/model/tea_python_tests/models/_my_model_submodel.py +5 -4
  27. package/tests/expected/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
  28. package/tests/expected/modelConfig/tea_python_tests/__init__.py +1 -0
  29. package/tests/expected/modelConfig/tea_python_tests/client.py +10 -0
  30. package/tests/expected/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
  31. package/tests/expected/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
  32. package/tests/expected/modelConfig/tea_python_tests/models/__init__.py +33 -0
  33. package/tests/expected/modelConfig/tea_python_tests/models/_class.py +23 -0
  34. package/tests/expected/modelConfig/tea_python_tests/models/_m.py +37 -0
  35. package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
  36. package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
  37. package/tests/expected/modelConfig/tea_python_tests/models/_model.py +33 -0
  38. package/tests/expected/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
  39. package/tests/expected/modelConfig/tea_python_tests/models/_my_model.py +600 -0
  40. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
  41. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
  42. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
  43. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
  44. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
  45. package/tests/expected/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
  46. package/tests/expected/multi/tea_python_tests/exceptions/_err.py +2 -2
  47. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  48. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  49. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  50. package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
  51. package/tests/expected/multi/tea_python_tests/model/user_models/_info.py +7 -4
  52. package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +12 -8
  53. package/tests/expected/typedef/tea_python_tests/models/_m.py +7 -4
  54. package/tests/fixtures/model/main.dara +4 -0
  55. package/tests/fixtures/modelConfig/.libraries.json +3 -0
  56. package/tests/fixtures/modelConfig/Darafile +13 -0
  57. package/tests/fixtures/modelConfig/libraries/Darafile +20 -0
  58. package/tests/fixtures/modelConfig/libraries/import.dara +27 -0
  59. package/tests/fixtures/modelConfig/main.dara +81 -0
  60. package/tests/main.tests.js +18 -0
  61. package/tests/output/annotation/tea_python_tests/models/_test.py +5 -4
  62. package/tests/output/comment/tea_python_tests/models/_test_1.py +15 -4
  63. package/tests/output/comment/tea_python_tests/models/_test_2.py +7 -4
  64. package/tests/output/comment/tea_python_tests/models/_test_3.py +7 -4
  65. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +1 -1
  66. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  67. package/tests/output/complex/tea_python_tests/models/_complex_request.py +85 -63
  68. package/tests/output/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
  69. package/tests/output/complex/tea_python_tests/models/_complex_request_header.py +5 -4
  70. package/tests/output/complex/tea_python_tests/models/_complex_request_part.py +5 -4
  71. package/tests/output/complex/tea_python_tests/models/_response.py +5 -4
  72. package/tests/output/model/tea_python_tests/exceptions/_main_file.py +1 -1
  73. package/tests/output/model/tea_python_tests/models/_class.py +2 -3
  74. package/tests/output/model/tea_python_tests/models/_m.py +3 -4
  75. package/tests/output/model/tea_python_tests/models/_main_file_model.py +5 -4
  76. package/tests/output/model/tea_python_tests/models/_main_file_model_model.py +5 -4
  77. package/tests/output/model/tea_python_tests/models/_model.py +5 -4
  78. package/tests/output/model/tea_python_tests/models/_msub_m.py +2 -3
  79. package/tests/output/model/tea_python_tests/models/_my_model.py +216 -74
  80. package/tests/output/model/tea_python_tests/models/_my_model_model.py +5 -4
  81. package/tests/output/model/tea_python_tests/models/_my_model_model_model.py +5 -4
  82. package/tests/output/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
  83. package/tests/output/model/tea_python_tests/models/_my_model_submodel.py +5 -4
  84. package/tests/output/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
  85. package/tests/output/modelConfig/setup.py +77 -0
  86. package/tests/output/modelConfig/tea_python_tests/__init__.py +1 -0
  87. package/tests/output/modelConfig/tea_python_tests/client.py +10 -0
  88. package/tests/output/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
  89. package/tests/output/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
  90. package/tests/output/modelConfig/tea_python_tests/models/__init__.py +33 -0
  91. package/tests/output/modelConfig/tea_python_tests/models/_class.py +23 -0
  92. package/tests/output/modelConfig/tea_python_tests/models/_m.py +37 -0
  93. package/tests/output/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
  94. package/tests/output/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
  95. package/tests/output/modelConfig/tea_python_tests/models/_model.py +33 -0
  96. package/tests/output/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
  97. package/tests/output/modelConfig/tea_python_tests/models/_my_model.py +600 -0
  98. package/tests/output/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
  99. package/tests/output/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
  100. package/tests/output/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
  101. package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
  102. package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
  103. package/tests/output/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
  104. package/tests/output/multi/tea_python_tests/exceptions/_err.py +2 -2
  105. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  106. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  107. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  108. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
  109. package/tests/output/multi/tea_python_tests/model/user_models/_info.py +7 -4
  110. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +12 -8
  111. 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
- return _map
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,
@@ -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,
@@ -6,7 +6,7 @@ from tea_python_tests import user_exceptions as main_exceptions
6
6
 
7
7
  class Err1Exception(main_exceptions.BaseInfoException):
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,
@@ -6,7 +6,7 @@ from tea_python_tests import user_exceptions as main_exceptions
6
6
 
7
7
  class Err2Exception(main_exceptions.ErrException):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  msg: str = None,
11
11
  msg_2: str = None,
12
12
  ):
@@ -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
- return _map
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
- return _map
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
- return _map
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
- return _map
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
- return _map
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,3 @@
1
+ {
2
+ "darabonba:Import:*": "libraries"
3
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "scope": "darabonba",
3
+ "name": "main",
4
+ "version": "0.0.1",
5
+ "main": "./main.dara",
6
+ "libraries": {
7
+ "Source": "darabonba:Import:*"
8
+ },
9
+ "python": {
10
+ "noneEmpty": true,
11
+ "strictModel": true
12
+ }
13
+ }
@@ -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
+
@@ -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
- return _map
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
- return _map
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
- return _map
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